Brauche Hilfe bei Code-Entwicklung (Anfänger)



  • also ich hab bis jetzt das geschrieben:

    #include <iostream>
    #include <conio.h>
    #include <string>
    
    int main()
    {
    char sozial [10];
    char eingabe [10];
    char vorname [10];
    char nachname [10];;
    
    std::cout << "Hallo, lieber Spieler. Zuerst müssen sie das Spiel konfigurieren, \ndamit die Initialisierung erfolgreich vonstatten gehen kann \n\n";
    std::cout << "Erreichen sie die vollständige Initialisierung!\n";
    std::cout << "Geben sie ihren Vornamen ein:";
    std::cin >> vorname;
    std::cout << "\nSehr gut! Initialisierung halb fertig! \nGeben sie nun ihren Nachnamen ein: ";
    std::cin >> nachname;
    std::cout << "Initialisierung fertig! Sehr gut,";
    std::cout << vorname << " " << nachname << ".";
    
    std::cout << " \n \n Das Spiel kann beginnen \n ";
    std::cout << " \n Du wachst in einem dunklen Verließ auf. Vor dir siehst du einen Zettel. \n ";
    std::cout << " \n Agressiv: Lasse den Zettel links liegen und hämmere lauthals schreiend gegen die Tür. \n ";
    std::cout << " Sozial: Du ließt dir den Zettel sorgfältig durch, um Informationen zu erhalten. ";
    std::cin >> eingabe;
    if (eingabe = sozial)
    {
    std::cout << " \n Du liest dir den Zettel sorgfältig durch. \n ";
    std::cout << " Hallo Spieler\n ";
    std::cout << " Du befindest dich in einem alten, vergammelten und ziemlich zerfallenen\n ";
    std::cout << " Gefängnis. Es wird wahrscheinlich ein leichtes sein zu fliehen, aber\n ";
    std::cout << " so wie du aussiehst würdest du lieber heulend Mami anrufen. Daher habe ich\n ";
    std::cout << " dir das Handy abgenommen. Jetzt musst du selber herausfinden (muhahaha)\n ";
    std::cout << " Gez. Der Rüpel \n ";
    }
    
    getch();
    return 0;
    }
    

    Soooo aber jetzt ist zeile 26 (also die if-variablenvergleich) leider falsch also was tun?
    Brauche echt hilfe :p

    Oh achso ja und ich wollt noch frage warum man nach der angabe von char dieses [10] hinklatscht Mein lehrbuch sagt daüber leider nix...

    /edit pumuckl: cpp-Tags spendiert. Demnächst bitte selbst erledigen, danke!



  • "leider falsch" ist eine sehr präzise Fehlerbeschreibung 😃

    Aber trotzdem:
    Erstens: Vergleiche führt man in der Regel mit == durch (= ist eine Zuweisung).
    Zweitens: Bei char-Arrays führt == nur einen Adress-Vergleich durch - zum Inhalts-Vergleich gibt es strcmp() (oder du verwendest std::string anstelle der Arrays)
    Drittens: Das Array sozial ist nicht initialisiert - und damit ist der Vergleich erst recht unsinnig



  • 1. Schmeiß das Buch weg
    2. Benutze std::string statt char-Arrays

    std::string name;
    std::string sozial;
    

    3. dann klappt der Vergleich mit ==

    if ( eingabe == sozial )
    


  • Du begehst mehrere Fehler

    a)Eingabe = sozial - = ist der zuweisungsoperator . Was du suchst ist == . So, nun ist sozial aber ein String und keine variable also gehört das in "". Next Problem ist dass sich Cstrings nicht einfach so vergleichen lassen , google doch bitte mal nach strcmp oder lieber noch strncmp.
    Ausserdem : du willst in c++ und verwendest die stringclass nicht.das ist iwie J.W Style. Welches Buch verwendest du ?


Anmelden zum Antworten