Komme nicht weiter....
-
Hallo,
char kann nur ein einzelnes Zeichen aufnehmen. Entweder du nimmst char* und die dazugehörigen Funktionen (strcpy, strcmp) oder besser gleich string.
#include <iostream> #include <cstring> using namespace std; int main() // void ist kein Standard { char a[10]; strcpy(a,"red"); cout << "Rot: "; char b[10]; cin >> b; if(strcmp(a,b) == 0) cout << "Richtig"; else cout << "Falsch" ; return 0; }oder besser
#include<iostream> using namespace std; int main() { string a, b; a = "red"; cout << "Rot: "; cin >> b; if(a==b) cout << "Richtig"; else cout << "Falsch" ; return 0; }[edit] etwas spät [edit]
-
Hallo
Zuerst danke
und jetzt habe ich nochmal ein Problem
also ich will ein Quiz machen
dazu z.B mit drei Fragen
am Schluss will ich, dass der Computer sagt wieviel Fragen ich richtig geantwortet
und wieviel ich Falsch gemacht habe!!!
-
dann zeig mal wies bei dir bis jetzt aussieht und beschreibe wo genau du nen problem hast...
gruessle
-
Ich habe noch nicht angefangen
ich weiss nur nicht wie man am Schluss sagt
wieviel man richtig und wieviel falsch gemacht hat
-
brauchst zwei Zählvariablen, die du bei jeder Frage entsprechend erhöhst (eine für richtig, eine für falsch) - und am Ende gibst du diese zwei Variablen über cout aus.
-
Also ich nehme mal an Frage gibt dir ein Boolean zurück ob du die Frage richtig beantwortet hast, oder nicht. Wenn sie wahr zurückgibt, wird richtige inkrementiert. Am Ende gibts du alles aus.
Du kannst Frage auch eine Nummer übergeben, damit sie nicht immer die gleiche Frage stellt.int richtige = 0
for(int i = 0; i<Anzahl_der_Fragen; i++)
if(Frage())
richtige++;cout<<"Richtige Antworten: "<<richtige<<endl;
cout<<"Falsche Antworten: "<<Anzahl_der_Fragen-richtige<<endl;
-
Danke
das problem ist gelöst
aber ich habe nochmal ein problem
also z.B[#include <iostream> #include <string> using namespace std; int main() { string a[36],b[36]; a[3] = "I went"; cout << "Ich ging: "; cin >> b[3]; if(a[3]==b[3]) cout << "Richtig\n\n"; else cout << "Falsch. Die richtige Antwort waere I went." ; return 0; }aber das stimmt nicht weil cin leerzeichen als trenner interpretier
also ich weiss dass man etwas mit cin.getline machen muss.......
-
getline(cin, b);
-
aber es heisst doch so: cin >> b[3];
-
Und?
getline(cin, b[3]);
-
CStoll schrieb:
und 'red' dürfte nichtmal durch den Compiler kommen
Doch, das ist vollkommen zulässig. Das ist ein sogenanntes Multicharacter Literal und vom Typ int. Wieviel Zeichen vorhanden sein dürfen ist allerdings plattformabhängig.