Ich finde die Fehler in diesem selbstgeschriebenen Programm einfach nicht.
-
Hallo,
ich bin absoluter C++-Anfänger und habe mit all meinem bisherigen Wissen ein kleines Programm geschrieben, oder es zumindest versucht.
Nur leider lässt sich dieses Programm nciht kompillieren, da es eine MEnge Fehler enthält, die ich einfach nicht finden kann.Ich hoffe, Ihr könnt mir helfen, und werdet auch so nett sein, es zu tun.
/**************************************************** * * * Another fantastic program by: <qu0> * * * ****************************************************/ #include <iostream> using namespace std; /* Deklaration und Definition dreie Funktionen. */ void warte() //Prototyp und Rumpf der Funktion "warte". { cout << "Warte."; } void sternchen() //Prototyp und Rumpf der Funktion "sternchen". { cout << "*************************************"; } void neue_reihe() //Prototyp und Rumpf der Funktion "neue_Reihe". { cout << endl; } /* ===> Beginn des eigentlichen Programms <=== */ int main() { /* Deklaration zweier Variablen*/ bool a, b; cout << "Another fantastic program by: <qu0>" << endl; sternchen(); neue_reihe(); cout << "Geben Sie entweder [1] oder [2] ein."; cin >> a; cout << "Geben Sie ein weiteres Mal [1] oder [2] ein."; cin >> b; if(a==1) { cout << "Beim ersten Mal haben Sie [1] eingegeben."; } else(a==1) { cout << "Beim ersten Mal haben Sie [0] eingegeben."; } if((a!==1) || (a!==0)) { cout << "Sie dummes Arschloch sollten eine [1] oder eine [2] eingeben. Frechheit."; } neue_reihe(); if(b==1) { cout << "Beim zweiten Mal haben Sie [1] eingegeben."; } else { cout << "Beim zweiten Mal haben Sie [0] eingegeben."; } if((b!==1) || (b!==0)) { cout << "Sie dummes Arschloch sollten eine [1] oder eine [2] eingeben. Frechheit."; } neue_reihe(); cout << "Vielen Dank für Ihre Eingabe."; neue_reihe(); cout << ":-)"; return 0; }
Viele Grüße,
qu0
-
Poste doch mal die Fehler.
Und warum nutzt du bool als Datentyp?
-
Sie dummes Arschloch sollten eine [1] oder eine [2] eingeben. Frechheit.
Lol
Sag uns mal die Fehlermeldungen.
Oder hat sich der Compiler über Fäkalausdrücke beschwert?
-
Wäre schon gut, wenn du die Fehler auch mal sagst...
So ist mir aufgefallen:
else(a==1)
gibst nicht und es heisst != statt !== an diversen Stellen.
Jockel
-
Hi!
Mal abgesehen von Sinn oder Unsinn der Verwendung bool. Es macht keinen Sinn 1 oder 2 einzugeben, du meinst wohl 0 oder 1. Da alles ungleich 0 zu true gewertet wird.
Die if-Abfrage macht auch wenig Sinn. Außerdem ist das if-Konstrukt sehr Merkwürdig. Das macht ebenfalls keinen Sinn, da bool nur true oder false enthalten kann. Also kann es nur if oder else sein, aber nicht if, else if und nochmal else. Es gibt keine 3 Möglichkeiten. Außerdem glaube ich nicht das der Compiler '!==' annimmt, da solltest du '!=' verwenden. Außerdem fehlt da hinter else das if, sowas geht nicht: 'else(x==y)'
Außerdem ist da ein Lofikfehler, es muss && und nicht || sein.Mach mal so:
int main() { /* Deklaration zweier Variablen*/ int a, b; cout << "Another fantastic program by: <qu0>" << endl; sternchen(); neue_reihe(); cout << "Geben Sie entweder [1] oder [2] ein."; cin >> a; cout << "Geben Sie ein weiteres Mal [1] oder [2] ein."; cin >> b; if(a==1) { cout << "Beim ersten Mal haben Sie [1] eingegeben."; } else if(a==2) { cout << "Beim ersten Mal haben Sie [2] eingegeben."; } else /* entspräche logisch gesehen: else if((a!=1) && (a!=2)) */ { cout << "Sie Dummkopf sollten eine [1] oder eine [2] eingeben. Frechheit."; } neue_reihe(); if(b==1) { cout << "Beim zweiten Mal haben Sie [1] eingegeben."; } else if(b==2) { cout << "Beim zweiten Mal haben Sie [2] eingegeben."; } else /* entspräche logisch gesehen: else if((b!=1) && (b!=2)) */ { cout << "Sie Dummkopf sollten eine [1] oder eine [2] eingeben. Frechheit."; } neue_reihe(); cout << "Vielen Dank für Ihre Eingabe."; neue_reihe(); cout << ":-)"; return 0; }
Das kannst du natürlich mit sämtlichen Zahlen machen, allerdings würde ich dir einen switch-case-Verteiler empfehlen.
Code-Hacker
-
!== gibts nicht, wie bereits gesagt, entweder !(a==1) oder a != 1
-
Hallo,
vielen Dank Euch allen für Eure Antworten.
Warum ich "2" anstatt "0" geschrieben habe, weiß ich selber nicht.
Ich muss leicht zertsreut gewesen sein.Des Weiteren habe ich den Fehler bzg. "(a!==0)" berichtigt. Daraus ist jetzt "(a!=1)" geworden.
Hier ist die Fehlermledung meines Compilers:
http://www.qu0.skytec-design.com/pictures/fehlermeldung.jpgDer Compiler scheint sich an den Klammern, welche die Anweisungen der if-else-Strukturen umschließen, aufzureiben.
Viele Grüße,
qu0
-
Vielleicht so:
/**************************************************** * * * Another fantastic program by: <qu0> * * * ****************************************************/ #include <iostream> using namespace std; namespace Umlaut { const unsigned char AE = static_cast<unsigned char>(142); const unsigned char ae = static_cast<unsigned char>(132); const unsigned char OE = static_cast<unsigned char>(153); const unsigned char oe = static_cast<unsigned char>(148); const unsigned char UE = static_cast<unsigned char>(154); const unsigned char ue = static_cast<unsigned char>(129); const unsigned char ss = static_cast<unsigned char>(225); } /* Deklaration und Definition dreie Funktionen. */ void warte() //Prototyp und Rumpf der Funktion "warte". { cout << "Warte."; } void sternchen() //Prototyp und Rumpf der Funktion "sternchen". { cout << "*************************************"; } void neue_reihe() //Prototyp und Rumpf der Funktion "neue_Reihe". { cout << endl; } /* ===> Beginn des eigentlichen Programms <=== */ int main() { /* Deklaration zweier Variablen*/ int a, b; cout << "Another fantastic program by: <qu0>" << endl; sternchen(); neue_reihe(); cout << "Geben Sie entweder [1] oder [2] ein."; cin >> a; cin.sync(); cin.clear(); cout << "Geben Sie ein weiteres Mal [1] oder [2] ein."; cin >> b; cin.sync(); cin.clear(); if(a==1) { cout << "Beim ersten Mal haben Sie [1] eingegeben."; } else if(a==2) { cout << "Beim ersten Mal haben Sie [0] eingegeben."; } else { cout << "Sie dummes Arschloch sollten eine [1] oder eine [2] eingeben. Frechheit."; } neue_reihe(); if(b==1) { cout << "Beim zweiten Mal haben Sie [1] eingegeben."; } else if(b==2) { cout << "Beim zweiten Mal haben Sie [0] eingegeben."; } else { cout << "Sie dummes Arschloch sollten eine [1] oder eine [2] eingeben. Frechheit."; } neue_reihe(); cout << "Vielen Dank f"<<Umlaut::ue<<"r Ihre Eingabe."; neue_reihe(); cout << ":-)"; cin.get(); return 0; }