error C2447
-
Hab ja main ()
{code
}
Und das ";" brauche ich, da ich sonst div. Fehlermeldungen kriege.
-
Status schrieb:
Hab ja main ()
{code
}
Und das ";" brauche ich, da ich sonst div. Fehlermeldungen kriege.
Ja vermutlich, weil dein Code voller Fehler ist;-)
Versuchs mal so wie ich gepostet habe, wenn dann weiterhin Fehler auftauchen poste deinen neuen Code und wir werden dir helfen.Lg freeG
-
Mh, meinst also so ?
#include <iostream> #include <conio.h> using namespace std; int main () { int Zahl, Zahl2,Ergebnis,Rechenart; std::string arithmeticOperator; cout <<"Geben sie die erste Zahl ein\n"; cin >> Zahl; cout <<"Geben sie die zweite Zahln ein \n"; cin >> Zahl2; cout<<"Wählen sie die Rechenart\n"; cin >>Rechenart if (Rechenart == '+') { Ergebnis = Zahl + Zahl2 cout<<Ergenis<<endl; } if (Rechenart == '-') { Ergebnis = Zahl - Zahl2 cout<<Ergebnis<<endl; } if (Rechenart == '*') { Ergebnis = Zahl * Zahl2 cout<<Ergebnis<<endl; } if (Rechenart == ':') { Ergebis = Zahl / Zahl2 cout<<Ergebnis<<endl; } else cout <<" Existiert nicht"; getch (); return 0; }Kriege ich folgende Fehler:
1>Kompilieren...
1>Taschenrechner.cpp
1>c:\users\config\documents\visual studio 2008\projects\taschenrechner\taschenrechner\taschenrechner.cpp(18) : error C2143: Syntaxfehler: Es fehlt ';' vor 'if'
1>c:\users\config\documents\visual studio 2008\projects\taschenrechner\taschenrechner\taschenrechner.cpp(21) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cout'
1>c:\users\config\documents\visual studio 2008\projects\taschenrechner\taschenrechner\taschenrechner.cpp(21) : error C2065: 'Ergenis': nichtdeklarierter Bezeichner
1>c:\users\config\documents\visual studio 2008\projects\taschenrechner\taschenrechner\taschenrechner.cpp(27) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cout'
1>c:\users\config\documents\visual studio 2008\projects\taschenrechner\taschenrechner\taschenrechner.cpp(33) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cout'
1>c:\users\config\documents\visual studio 2008\projects\taschenrechner\taschenrechner\taschenrechner.cpp(38) : error C2065: 'Ergebis': nichtdeklarierter Bezeichner
1>c:\users\config\documents\visual studio 2008\projects\taschenrechner\taschenrechner\taschenrechner.cpp(39) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cout'
1>Das Buildprotokoll wurde unter "file://c:\Users\Config\Documents\Visual Studio 2008\Projects\Taschenrechner\Taschenrechner\Debug\BuildLog.htm" gespeichert.
1>Taschenrechner - 7 Fehler, 0 Warnung(en)
-
Variablennamen dürfen keine Leerzeichen enthalten. Und außerdem solltest du dir einig werden, ob du die Variable nun "value1" oder "Zahl1" nennen willst

-
Ist mir grad schon aufgefallen, habs geändert ;<
-
Das ist jetzt echt nicht dein ernst? Ein bisschen Eigeninitiative kann ja wohl nicht schaden....du musst natürlich jetzt alles umbennen, deine Variablen heißen nun value1, value2 und arithmeticOperator und nicht zahl, zahl2 und rechenart....
Lg freeG
-
cin >>Rechenartda fehlt ja auch tatsächlich ein Semikolon.
Kein Wunder das der Compiler dann meckert.
abgesehen davon, solltest du mal deine if - else Logik überdenken.
so wie es momentan ist, gibst du immer wenn du nicht : rechnest "existiert nicht"
aus.
vielleicht bietet sich ja auch an dieser stelle für dich ein switch() case um den Operator an.
-
ausserdem fehlt ja in jedem deiner if() Blöcke nach der Zuweisung auf Ergebnis das ; :o
-
Ersetze alle
ifdurchelse ifausser dem Ersten.
-
Was mir gerade noch aufgefallen ist:
Status schrieb:
int Zahl, Zahl2,Ergebnis,Rechenart; cout<<"Wählen sie die Rechenart\n"; cin >>Rechenart; //das Semikolon wurde schon erwähnt if (Rechenart == '+') { ... }Da d[rfte schon die vernünftige Eingabe des Operators scheitern (es sei denn, der Nutzer kennt die ASCII-Codes von +, - etc auswendig. Du solltest Rechenart lieber als char anlegen.
PS: Wenn du deine Fragen nachträglich umeditierst, verbessert das nicht gerade die Lesbarkeit des Threads

-
Bin es aus anderen Foren gewohnt, dass Doppelpost's verboten sind, was da der Fall gewesen wäre ^^.
Bzw. hab den Code zum Laufen bekommen:
#include <iostream> #include <conio.h> using namespace std; int main () { int Zahl, Zahl2,Ergebnis; char Rechenart; std::string arithmeticRechenart; cout <<"Geben sie die erste Zahl ein\n"; cin >> Zahl; cout <<"Geben sie die zweite Zahln ein \n"; cin >> Zahl2; cout<<"Waehlen sie die Rechenart\n"; cin >>Rechenart; if (Rechenart == '+') { Ergebnis = Zahl + Zahl2; cout<<Ergebnis<<endl; } if (Rechenart == '-') { Ergebnis = Zahl - Zahl2; cout<<Ergebnis<<endl; } if (Rechenart == '*') { Ergebnis = Zahl * Zahl2; cout<<Ergebnis<<endl; } if ((Rechenart == '/') || (Rechenart == ':')) { Ergebnis = Zahl / Zahl2; cout<<Ergebnis<<endl; } getch (); return 0; }Danke für die Hilfe
