17. August 200422 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 200422 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 200422 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 200422 j "Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung. Wenn ich char c; statt int c; schreibe, funktioniert das Programm bei mir tadellos.
17. August 200422 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 200422 j Danke nochmal für Eure Hilfe, ich habe das Prob jetzt über eine switch-case Anweisung gelöst.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.