Cosole per 'e' beenden
-
Hallo,
ich wollte meine console mit einem Tastendruck auf ESC beenden und weiß leider nicht wie es in vc++ funktioniren soll...Ich habe schon gegooglet und die suche benutzt aber nichts gefunden...
thx schonmal,
numberone123
-
_getch() !?
-
also wie soll ich die denn einfügen
ich hab eine do-while schleifedo{ blablabla... while(s == 1)
und wollte dann irgend wo mitten im Programm also eigentlcih immer mit einem z.B."e" beenden das mit esc ist glaub doch zu schwer...
kann der thread mal verschoben werden?
bin neu hier und frag mal nettMfg,
numberone123
-
do { //Dein Zeug } while(!GetAsyncKeyState(0x45) < 0)
0x45 ist der hexadezimale Tastencode für "e"
EDIT: Benötigt den Header winuser.h!
Am Anfang der Datei schreibst du eben noch#include <windows.h>
hin.
-
Hi thx,
aber das Programm wird doch dadruch nicht mitten drin abgebrochen oder?und diese Schleife nutze ich ja um das Progrmam noch einaml zu starten
-
Es wird lediglich die Schleife verlassen!
Wenn du nachher nichts mehr hast beendet sich auch das Programm.
-
numberone123 schrieb:
das mit esc ist glaub doch zu schwer...
Quatsch!
StattGetAsyncKeyState(0x45)
schreibst du
GetAsyncKeyState(0x1B)
hin!
PS: 1B ist der Code für Escape
-
Also bei mir passiert nichts wenn ich das drücke ,ich hab noch dort hinter
das stehencout << endl << "Das Programm wurde beendet!"; cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); return 0;
EDIT:
hab auch die header includiert.er geht einfach damit nicht aus der Schleife raus
hmmm jetzt beendet er ohne tasten druck
-
numberone123 schrieb:
Hallo,
ich wollte meine console mit einem Tastendruck auf ESC beenden und weiß leider nicht wie es in vc++ funktioniren soll...Ok! Zeig mal deinen Code und sag, wo er wegen einem Escape beenden soll!
-
do { system("CLS"); //Clear Bildschirm Sleep(500); cout << "\t\t\t\t" << "Rechner\n"; cout << endl << "Wie wollen sie rechnen(n (+,-,*,/,^,%), Wurzel ziehen = w, Umfang/Fl"<< ae <<"che = u) "; cin >> w; //Hier beenden können Sleep(550); if (w == 'n') { system("CLS"); cout << "\t\t\t\t" << "Rechner\n"; cout << endl << "Das Zeichen"; cout << endl << "(*, /, +, -, %, ^): "; //Hier beenden können unsigned char op; cin >> op; Sleep(500); cout << endl << "Bitte geben sie eine Zahl ein: "; if (!(cin >> a)){ cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); cout << endl << "Und noch eine Bitte: "; if(!(cin >> b)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); if (op == '+') { rech ( a + b ); } else if (op == '-') { rech ( a - b ); } else if (op == '*') { rech ( a * b ); } else if (op == '/') { rech ( a / b ); } else if (op == '%') { rech ( a / 100 * b ); } else if (op == '^') { rech (pow ( a,b)); } else { cout << "Fehler bei der Eingabe!"; } cin.clear (); cin.ignore (cin.rdbuf()->in_avail()); } else if ( w == 'w') { //hier beenden können system("CLS"); cout << "\t\t\t\t" << "Rechner\n"; cout << endl << "Aus welcher Zahl wollen sie die Wurzel ziehen?: "; if(!(cin >> Zahl)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); double Sqareroot = sqrt(Zahl); quadratwurzel(Sqareroot); } else if ( w == 'u') { //hier beenden können system("CLS"); cout << "\t\t\t\t" << "Rechner\n"; unsigned int lr,br; //Länge und Breite vom Rechteck int ei; //Eingabe int ad,bd,cd; //Seiten vom Dreieck int usd,hd; //grund und höhe vom dreieck float kr; //Kreisradius Sleep(500); cout << endl << "Die Fl"<< ae <<"che und Umfang eines Rechtecks rechnen(1), und eines Dreiecks (2)\n" << endl <<"und eines Kreises(3). "; Sleep(2000); cout << endl << "\nNun ihre Eingabe: "; if(!(cin >> ei)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } system("CLS"); cout << "\t\t\t\t" << "Rechner\n"; Sleep(2000); switch ( ei ) { //Eingabe Auswahl case 1 : cout << endl << "Berechnung eine Rechtecks!\n\n"; cout << endl << "Geben sie bitte die L"<< ae <<"nge des Rechtecks ein: "; if(!(cin >> lr)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); cout << endl << "Und nun bitte die Breite: "; if(!(cin >> br)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); flaeche(lr * br ); umfang(2*lr+2*br); break; case 2 : cout << endl << "Berechnung eines Dreiecks!\n\n"; Sleep(500); cout << endl << "Bitte die Seite a vom Dreieck: "; if(!(cin >> ad)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); cout << endl << "Bitte die Seite b: "; if(!(cin >> bd)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); cout << endl << "Bitte die Seite c: "; if(!(cin >> cd)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); cout << endl << "Grundfl"<<ae<<"che(Boden): "; if(!(cin >> usd)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(500); cout << endl << "Die H"<< oe <<"he vom Dreieck: "; if(!(cin >> hd)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(1000); umfang(ad+bd+cd); flaeche(usd*hd/2); break; case 3 : cout << endl << "Berechnung eines Kreises!\n\n"; Sleep(500); cout << endl << "Bitte den Radius eingeben: "; if(!(cin >> kr)) { cerr << endl << "Fehler bei der Eingabe!"; cin.clear (); cin.ignore (cin.rdbuf () -> in_avail ()); cin.get (); exit(1); } Sleep(1000); umfang(2*M_PI*kr); flaeche(M_PI*kr*kr); break; default : cout << endl << "Fehler bei der Eingabe!"; break; } } else { cout << endl << "Fehler bei der Eingabe!"; } cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); //hier beenden können system("CLS"); Sleep(500); cout << "\t\t\t\t" << "Rechner\n"; cout << endl << endl << "Wollen sie noch einmal etwas Berechen? (y,n) "; char yn; cin >> yn; if (yn == 'y') { s = 1; } else { s = 0; } }while( s == 1 );
hab das was du gesagt hast mal kurz raus gelassen...