Konsole schließt sich sofort wieder - Lösung?
-
Und wenn ich die 2te Frage richtig verstanden habe, dann willst du, dass man im Menü so oft wählen kann, bis man zum Beispiel die 0 für Programm beenden drückt, ja?
Wenn ja, dann kann man das einfach mit ner do-while Schleife machen... müsste dann so aussehen:
do { MENÜ } while(Wahl != 0);Ciao!!
-
Hi,
Ania87 schrieb:
fflush(stdin);
das erzeugt undefiniertes Verhalten:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39349.html
-
ich hatte noch nie probleme damit

naja für solche Programme reichts auch vollkommen...
-
Ania87: Frickler
-
Hi,
Ania87 schrieb:
ich hatte noch nie probleme damit

naja für solche Programme reichts auch vollkommen...da stellt sich natürlich dann die Frage, wieviel Aufwand es ist, diesen Fehler zu umgehen und im Vorfeld eine mögliche Fehlerquelle zu eliminieren. Wenn man etwas lernt, sollte man es schon richtig machen, oder ganz lassen.
-
okay zur 1. Frage, werd ich mal im Forum schaun!
Ich meinte mit der 2. Frage...
Wenn ich ein Menue habe und ein Menüpunkt angebe
Programm schliessen [0]
dann beendet er diese Funtkion und geht zur nächsten
Ich möchte aber, dass es das programm ganz beendet! (Und Konsolo schliesst)
D.h. auch wenns noch 15 weitere Funktionen gibt, ist Schluss!
-
okay, das mit void wait() usw hat nicht geklappt...
dafür #include <conio.h> mit getch();
dann hab ich aber noch ein anderes Problem... egal ob ich Addition oder Subtraktion wähle, nachdem ich die 2 Zahlen eingeben habe, zeigt er als Ergebnis eine 10 stellige lösung an!
Da ich es auch mit 1+1 probier habe, muss irgendwo ein Fehler sein...ich kann ihn nicht findenkann sich jemand vielleicht nochmal den code angucken? wäre super
//Rechenprogramm von Simon #include <iostream> #include <string> #include <conio.h> using namespace std; int main() { string Ueberschrift("*** Rechenprogramm ***"), linie(50, '-'); int Wahl; int x; int y; int x2; int y2; int summe; int Differenz; summe = x + y; Differenz = x2 - y; //Gibt ein Menue aus, wo der Anwender zwischen Addition und Subtraktion wählen kann cout << Ueberschrift << endl << linie << endl; cout << "Menue" << endl << linie; cout << endl << "Addieren [1]" << endl; cout << "Subtrahieren [2]"; cout << endl << endl << "Ihre Wahl : "; cin >> Wahl; switch(Wahl) { case 1: cout << "Bitte 1. Zahl eingeben : "; cin >> x; cout << "2. Zahl : "; cin >> y; cout << "Das Ergebnis ist" << endl << summe; break; case 2: cout << "Bitte 1. Zahl eingeben : "; cin >> x2; cout << "2. Zahl : "; cin >> y2; cout << "Das Ergebnis ist" << endl << summe; break; } getch(); return 0; }
-
schon gut, wenn die funktion so gräßlich ist, dann lässt es bleiben

zur 2ten frage, wenn du das mit der do-while-schleife machst, denn bricht er an der stelle ab wo du es willst, ansonsten wenn du was anderes meinst, dann verstehe ich dich leider auch nicht...
-
Kein Wunder. Du Addierst bzw. Subtrahierst, bevor dein Programm überhaupt weiß, was eingegeben werden wird. Auf das wesentliche reduziert gitb dein Programm ungefähr diesen Pseudocode:
int x = irgendwas_was_schon_vorher_im_speicher_stand; int y = ebenso; int summe = x + y; //woher soll denn der computer wissen, was bei einlesen() eingelesen werden wird??? int differenz = x - y; einlesen(); if(aktion == addieren) print(summe); if(aktion == subtrahieren) print(differenz);Achtung, das ist Pseudocode, der nicht zum compilieren geeignet ist.
geloescht
-
merci beacoup!
hab das jetzt in
switch(Wahl) { case 1: cout << "Bitte 1. Zahl eingeben : "; cin >> x; cout << "2. Zahl : "; cin >> y; summe = x + y; cout << "Das Ergebnis ist" << endl << summe; break; case 2: cout << "Bitte 1. Zahl eingeben : "; cin >> x2; cout << "2. Zahl : "; cin >> y2; Differenz = x2 - y2; cout << "Das Ergebnis ist" << endl << Differenz; break;geändert...und siehe da...es funtkioniert !