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 :pOh 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 Arraysozialist nicht initialisiert - und damit ist der Vergleich erst recht unsinnig
-
1. Schmeiß das Buch weg
2. Benutze std::string statt char-Arraysstd::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 ?