Veröffentlicht 8. März 200520 j hier mal mein kompletter quellcode: #include <iostream.h> #include <conio.h> #include <limits.h> #include <stdio.h> int main(char oper) { { float zahl, zahl2; cout<<"Bitte geben Sie eine Zahl ein "; cin>>zahl; cout<<"Bitte geben Sie eine zweite Zahl ein "; cin>>zahl2; cout<<"Bitte geben Sie den gewuenschten Rechenoperator ein "; cin>>oper; } { if(oper==+) cout<<"Ergebnis: "zahl+zahl1; } getch(); } was hab ich falsch gemacht bekomme keine fehlermeldung mfg christian
8. März 200520 j hier mal mein kompletter quellcode: int main(char oper) { cin>>oper; } { if(oper==+) cout<<"Ergebnis: "zahl+zahl1; } } Was möchtest Du denn erreichen? int main(char oper) [/php] muss wie folgt aussehen: [php] int main(int argc, char **argv) Wozu benötigst Du "oper"? Sofern Du einen Parameter an main übergeben möchtest, kannst Du diesen dann beispielsweise mit int oper; if (argv[1]) oper=atoi(argv[1]); else { printf("missing argument to %s\n",argv[0]); exit(1); } [/php] Einlesen und kovertieren. Nic
8. März 200520 j ne das isses nich hm was könnte das sein vielleicht die if-anweisung hab schon alles getestet
8. März 200520 j Was möchtest Du denn erreichen? int main(char oper) wollte die eingegebenen rechenoperatoren also +, -, : und * in oper speichern und sie dann in der in der if-else-anweisung aus oper auswerten
8. März 200520 j Hallo, in dem Fall: main(char oper) in main() oder main(int argc, char **argv) ändern, danach char oper; if (oper=='+')
8. März 200520 j das funzt au net Schau auf meine Signatur. Zeig deinen Code, und falls Fehler gemeldet werden, den vollständigen Text der Fehlermeldung. Wir können aus deinen Änderungsmeldungen nur schwer nachvollziehen, wie dein Code jetzt aussieht.
8. März 200520 j code: #include <iostream.h> #include <conio.h> #include <limits.h> #include <stdio.h> main(char oper;) { { float zahl, zahl2; cout<<"Bitte geben Sie eine Zahl ein "; cin>>zahl; cout<<"Bitte geben Sie eine zweite Zahl ein "; cin>>zahl2; cout<<"Bitte geben Sie den gewuenschten Rechenoperator ein "; cin>>oper; } { if(oper=='+') cout<<"Ergebnis: "zahl+zahl2; } getch(); } Fehlermeldungen: Compiler: Default compiler Building Makefile: "C:\Dev-Cpp\Übung\Makefile.win" Führt make... aus make.exe -f "C:\Dev-Cpp\Übung\Makefile.win" all g++.exe -c main2.cpp -o main2.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31, from main2.cpp:1: C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. main2.cpp:6: error: expected `,' or `...' before ';' token main2.cpp:6: error: expected `)' before ';' token main2.cpp:6: error: expected constructor, destructor, or type conversion before ';' token main2.cpp:6: error: expected unqualified-id before ')' token main2.cpp:6: error: expected `,' or `;' before ')' token make.exe: *** [main2.o] Error 1 Ausführung beendet
8. März 200520 j Du solltest die Hinweise auch umsetzen. main(char oper) in main() oder main(int argc, char **argv) ändernKeine Ahnung, wieso du da ein Semikolon reingesetzt hast...
9. März 200520 j hab ich is der selbe brei das muss was anderes seinWenn du die Änderungen von nic_power umsetzt, können nicht dieselben Fehlermeldungen erscheinen (falls es das ist, was du mit "der selbe brei" meinst). Wenn du hier Hilfe erwartest, solltest du schon etwas genauere Informationen liefern. So wird das nichts. Zeig uns deinen aktuellen Code mit den dazugehörigen Fehlermeldungen. Wenn es sehr viele sind, reichen die ersten 10.
9. März 200520 j Du solltest die Variablen zahl1 und zahl2 nicht in einem abgeschlossenen Anweisungsblock deklarieren. Denn wenn der Block geschlossen wird (geschweiftre Klammern) fallen die Variablen komplett aus dem Stack heraus. Damit sind sie später nicht mehr bekannt. Lass einfach die Geschweiften Klammern weg, wenn Du die Variablen Deklarierst. Gruß, Biese
9. März 200520 j lies erstmal ein buch über die grundlagen von c++ sehr witzig das hab ich schon getan vor langer zeit n paar progs hab ich auch schon hinbekommen nur an diesem billigen scheiterts werd heut abend nochmal den code neu schreiben und wenn fehler sind posten (natürlich mit den veränderungen
9. März 200520 j Du solltest die Variablen zahl1 und zahl2 nicht in einem abgeschlossenen Anweisungsblock deklarieren. Denn wenn der Block geschlossen wird (geschweiftre Klammern) fallen die Variablen komplett aus dem Stack heraus. Damit sind sie später nicht mehr bekannt. Lass einfach die Geschweiften Klammern weg, wenn Du die Variablen Deklarierst. Gruß, Biese ok werds gleich ma versuchen aber die if anweisung muss eingeklammert werden so weit ich weis oder......?
9. März 200520 j der fehler liegt anscheinend hier: { if(oper=='+') cout<<"Ergebnis: "zahl+zahl2; } wenn ich das entferne funzt die anwendung
9. März 200520 j der fehler liegt anscheinend hier: { if(oper=='+') cout<<"Ergebnis: "zahl+zahl2; } wenn ich das entferne funzt die anwendung Wundert mich... Denn eigentlich sollten Die deklarierten Variablen bereits weg sein, wenn die oberen Klammern geschlossen werden. Hast dann wohl einen cleveren Kompiler? ;-))
9. März 200520 j es geht es geht oh man bin ich blöde das hab ich erst heute gesehen float darf nicht mit in die verschachtelung und vor zahl+zahl1 gehört nen <<
9. März 200520 j Wundert mich... Denn eigentlich sollten Die deklarierten Variablen bereits weg sein, wenn die oberen Klammern geschlossen werden. Hast dann wohl einen cleveren Kompiler? ;-)) du hast ja recht aber vor zahl+zahl1 muss nen << wie oben erwähnt jetzt funzt es *überglücklich sei, jetzt erstma pennen geht" :bimei
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.