Problem bei Programm
-
Hallo Leute,
Ich möchte ein Programm schreiben, welches den Wissenstand ermittelt habe aber an einer stelle Probleme:
Hier erstmal der Code:
#include <iostream> #include <cmath> #include <string> using namespace std; int main() { char Antwort_01[100]; cout << "IQ Test" << endl << endl ; cout << "Beantworten Sie die folgenden Fragen, um ihr Wissen zu bestimmen!" << endl << endl; cout << "Zum Starten EINGABE druecken!" << endl << endl << endl; getchar(); cout << "Erste Frage: Wie heisst die Hauptstadt von Polen?" << endl; cout << "Ihre Antwort: " ; cin >> Antwort_01[100]; if (Antwort_01[100] == 'warschau') { cout << "Richtig!" << endl; } else { cout << "Falsch" << endl << endl; } system ("Pause"); return 0; }Ich möchte, dass das Programm in dem Falle ausgibt, ob die vom Benutzer eingegebene Antwort richtig oder Falsch ist. Leider gibt das Programm auch bei richtiger Eingabe (hier "Warschau") "Falsch" aus.
Wie bekomme ich nun hin, dass das Programm die Antwort mit richtig bzw. falsch ausgibt?
Viele Grüße und Danke im Voraus,
suppenkasper
-
Um zwei Zeichenketten zu vergleichen, gibts
strcmp. Da du aber eh schon<string>inkludierst, würde ich an deiner Stelle die Klassestd::stringverwende. Diese verhält sich deutlich intuitiver.Und den IQ kann man übrigens nicht über Wissensfragen rausfinden

-
Wie mein Vorredner schon sagte nimm std::string.
std::string antwort_01; cin >> antwort_01; if( antwort_01 == "Warschau" );So klappt das dann auch.
Aber du musst dem Benutzer ja schon mitteilen, dass er "Warschau" klein schreiben muss damit es richtig ist

Lg freeG
-
Bei
char Antwort_01[100];ist
cin >> Antwort_01[100];undefiniert. Index is nur von 0-99 gültig.
Wie schon gesagt, nimm lieber std::string und std::vector.
-
Und wofür brauchst Du die <cmath>? ^^