Veröffentlicht 17. August 200421 j Hallo ich möchte einen kleinen Taschrechner programmieren, wollte erstmal nur zwei Rechenarten einbinden. Ich kann die entsprechenden Eingaben machen, aber das Fenster schließt sich wieder ohne ein Ergebnis anzuzeugen. Vielleicht wist ihr weiter, hier der Quelltext: /*####################################### Taschenrechner ######################################*/ #include <iostream.h> int addition(int x, int y){ return (x+y); } int subtraktion(int x, int y){ return (x-y); } void main() { int a; int b; int c; cout<<"Zahl 1:";cin>>a; cout<<"Zahl 2:"; cin>>b; cout<<"Opperator:"; cin>>c; if (c=='+') cout<<"Ergebnis:"<<addition(a,<<endl; else cout<<"Ergebnis:"<<subtraktion(a,<<endl; char p[50]; cin.getline(p,50); cin.getline(p,50); } Danke schonmal im Voraus
17. August 200421 j Du könntest folgendes an Stelle der getline-Aufrufe an dein Programm anhängen: cin.clear (); cin.ignore(cin.rdbuf()->in_avail()); cin.get (); [/code] Nachtrag: c darf nicht int sein. char wäre richtig. Nur als Anmerkung: Du solltest <iostream> statt <iostream.h> verwenden. Beachte aber, dass dann alle Standardfunktionen und -objekte im Namespace std liegen.
17. August 200421 j Danke für die Mühe, funktioniert leider immer noch nicht. Die Aufgabe kommt aus einem ILS-Lehrgang Thema Funktionen, Schleifen, If-Else was du mir geschickt hast hatten wir noch nicht. Muss also auch irgendwie anders gehen.
17. August 200421 j "Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung. Wenn ich char c; statt int c; schreibe, funktioniert das Programm bei mir tadellos.
17. August 200421 j du musst ja jede eingabe mit "Enter" bestätigen. Nach der Eingabe des Operators(3.Eingabe) und drücken der Entertaste schließt sich das Fenster. Ich hoffe jetzt ist es präzise genug.
17. August 200421 j Danke nochmal für Eure Hilfe, ich habe das Prob jetzt über eine switch-case Anweisung gelöst.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.