Syntaxfehler ')'
-
tag,
So ich habe wieder ein problem, diesmal geht es um ein problem bei einem projekt mit einem partner. Wir wollen ein quiz programmieren, welches bis dato noch in den kinderschuhen steckt:
#include <iostream> #include <string> using namespace std; void fragestellen (std::string f, std::string a, std::string b, std::string c, std::string d, char y); int main() { int Anzahl = 0; cout << "Willkommen beim Quiz "; cout << "Version 0.1a\n"; cout << "es sind derzeitig "<<Anzahl<<" Fragen vorhanden.\n"; cout << "was wollen sie machen?\n"; cout << "1=Quiz spielen,\n2=neue Fragen hinzufuegen,\n3=Beenden\n"; cout << endl; int menü; cin >> menü; if (menü == 1) { fragestellen("was ergibt 3+4?","3","4","7","8","c",) } else if (menü == 2) { } else if (menü == 3) { cout << endl; system("pause"); } else { cout << "Falsche Eingabe"; cin >> menü; } return 0; } void fragestellen (std::string f, std::string a, std::string b, std::string c, std::string d, char y) { cout << f <<endl; cout << endl; cout << a<<endl; cout << endl; cout << b<<endl; cout << endl; cout << c<<endl; cout << endl; cout << d<<endl; cout << endl; char x; cin >> x; if (x == y) { cout << "Richtig, 100 Punkte gehen auf dein Konto"<<endl; cout << "Hier deine nächste Frage:"<<endl; cout << endl; } else { cout << "Leider falsch, "<<y<<" wäre richtig gewesen."<<endl; cout << "50 Punkte werden von deinem Konto abgezogen."<<endl; cout << "Hier deine nächste Frage:"<<endl; cout << endl; } }Nun spukt der kompiler von visual studio 08 aber folgende warnmeldung aus:
1>Kompilieren... 1>Quiz.cpp 1>c:\users\christian\documents\visual studio 2008\projects\quiz\quiz\quiz.cpp(27) : error C2059: Syntaxfehler: ')'Zuerst dachte ich " oh ien syntaxfehler, lässt sich bestimmt leicht beheben", doch nach vielem rumprobieren hab ichs immer nch nicht geschafft...
edit: der syntaxfehler bezieht sich nicht auf zeile 27 sondern auf zeile 23
-
if (menü == 1) { fragestellen("was ergibt 3+4?","3","4","7","8",'c'); //; fehlte, char gehoert in '', nicht in "" und ein Komma zu viel }Und es ist besser, keine Umlaute zu benutzen (menue anstatt menü).
-
hab ich schon versucht, syntaxfehler bleibt
edit: ok jetzt klappts^^ manchmal zweifel ich echt an mir selbst...
-
will keinen neuen thread aufmachen, deswegen frage ich hier:
int main() { zeigemenu(); int menueingabe; cin>>menueingabe; while(menueingabe != '1','2','3') { cout<<endl; cout<<"falsche Eingabe"<<endl; cout<<endl; zeigemenu(); cin >>menueingabe; }wenn ich das programm jetzt starte, und 2 eingebe sagt es "falsche Eingabe", ich hätte aber gerne das es erst"falsche Eingabe" ausgibt wenn ich was anderes als 1,2 oder 3 eingebe. Ich versteh nicht warum der das nicht so macht
-
Du suchst && bzw ||
-
wenn du von cin in einen int einließt konvertiert er es dir in die Zahl 2
'2' ist aber ein char und wird beim konvertierten in einen int in seinen ascii wert umgewandelt ( was um die 40)versuch mal
while(menueeingabe <1 || menueingabe > 3)das geht aber nur solange keine buchstaben eingegeben werden.
(text->zahl konvertierung google: atoi)
-
vielleicht
while(menueingabe!='1' and menueingabe!='2' and menueingabe!='3')
-
siehe
int main() { int zahl=0; cin>>zahl; cout<<zahl<<"\n"<<(int)'1'<<"\n"<<(zahl=='1')<<endl; } }
-
dank euch, fencers lösung hat auf anhieb geklappt
