Blade11091985 Geschrieben 8. März 2005 Geschrieben 8. März 2005 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 Zitieren
bmg4ever Geschrieben 8. März 2005 Geschrieben 8. März 2005 cout << "Ergebnis: " << zahl+zahl2; [/PHP] diese zeile sollte so aussehen Zitieren
nic_power Geschrieben 8. März 2005 Geschrieben 8. März 2005 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 Zitieren
Blade11091985 Geschrieben 8. März 2005 Autor Geschrieben 8. März 2005 ne das isses nich hm was könnte das sein vielleicht die if-anweisung hab schon alles getestet Zitieren
Blade11091985 Geschrieben 8. März 2005 Autor Geschrieben 8. März 2005 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 Zitieren
nic_power Geschrieben 8. März 2005 Geschrieben 8. März 2005 Hallo, in dem Fall: main(char oper) in main() oder main(int argc, char **argv) ändern, danach char oper; if (oper=='+') Zitieren
Blade11091985 Geschrieben 8. März 2005 Autor Geschrieben 8. März 2005 nutze übrigens Dev-C++ 4.9.9.2 falls das was hilft Zitieren
Klotzkopp Geschrieben 8. März 2005 Geschrieben 8. März 2005 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. Zitieren
Blade11091985 Geschrieben 8. März 2005 Autor Geschrieben 8. März 2005 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 Zitieren
Klotzkopp Geschrieben 8. März 2005 Geschrieben 8. März 2005 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... Zitieren
Blade11091985 Geschrieben 8. März 2005 Autor Geschrieben 8. März 2005 hab ich is der selbe brei das muss was anderes sein Zitieren
bmg4ever Geschrieben 8. März 2005 Geschrieben 8. März 2005 lies erstmal ein buch über die grundlagen von c++ Zitieren
Klotzkopp Geschrieben 9. März 2005 Geschrieben 9. März 2005 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. Zitieren
Biese Geschrieben 9. März 2005 Geschrieben 9. März 2005 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 Zitieren
Blade11091985 Geschrieben 9. März 2005 Autor Geschrieben 9. März 2005 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 Zitieren
Blade11091985 Geschrieben 9. März 2005 Autor Geschrieben 9. März 2005 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......? Zitieren
Blade11091985 Geschrieben 9. März 2005 Autor Geschrieben 9. März 2005 der fehler liegt anscheinend hier: { if(oper=='+') cout<<"Ergebnis: "zahl+zahl2; } wenn ich das entferne funzt die anwendung Zitieren
Biese Geschrieben 9. März 2005 Geschrieben 9. März 2005 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? ;-)) Zitieren
Blade11091985 Geschrieben 9. März 2005 Autor Geschrieben 9. März 2005 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 << Zitieren
Blade11091985 Geschrieben 9. März 2005 Autor Geschrieben 9. März 2005 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.