Anfänger frage
-
eventuell vorzeitiges schließen des
konsolenfensters verhindern?std::cin.clear (); std::cin.ignore ( std::cin.rdbuf () -> in_avail () ); std::cin.get ();
gruß elwida
-
firestorm. schrieb:
frage was ist am diesem script net richig, ka. wenn es die console öffnet kannn ich zwar was ich will schreiben, was ja net der sinn ist und wenn ich enter drücke schließts sie sich wieder
Aha. Und wo ist jetzt das Problem?
-
Es soll einfach einfach die zahl wenn sie von 1 - 10 ist, in b speichern, und dann soll es b ausgeben.
so meinte ich oO
schomal danke
-
firestorm. schrieb:
Es soll einfach einfach die zahl wenn sie von 1 - 10 ist, in b speichern, und dann soll es b ausgeben.
so meinte ich oO
schomal danke
b wird ausgegeben, aber die Konsole schließt sich zu schnell. Entweder öffnest du das Progranmm jetzt in der Konsole, oder du fügst elwidas code vor dem return ein.
mfg
-
firestorm. schrieb:
Es soll einfach einfach die zahl wenn sie von 1 - 10 ist, in b speichern, und dann soll es b ausgeben.
so meinte ich oO
schomal danke
Und warum schreibst du dann a=b und nicht b=a?
-
vor dem return einfach etwas einfügen, was dafüßr sorgt, dass Dein Programm auf eine Benutzereingabe wartet- ist am Einfachsten.
Also oben bei den Variablen noch eine dazupacken:
int a,b,c
und unten dann
cin >> c;
-
#include <iostream> using namespace std; int main() { int a,b; cin >> a; if(a <= 10 && a>0) { b=a; } cout << b; cin.clear (); cin.ignore ( std::cin.rdbuf () -> in_avail () ); cin.get (); return 0; }
gruß elwida
-
hm, meint er nich eher das das programm abdankt wenn er keine Zahl eingibt sondern Text und dann Enter drückt ?
-
Warum ist dieser Kram
cin.clear (); cin.ignore ( std::cin.rdbuf () -> in_avail () ); cin.get ();
eigentlich nicht als
cin.wait();
implementiert, um die Windows-Konsole für Anfänger gangbar zu gestalten? Auf dieses "Blitzen" fällt doch jeder am Anfang rein und denkt, sein Compiler o.ä. sei nicht in Ordnung.
-
also danke schomal aber:
bei elwidas code: wenn ich das prog jetzt öffne erscheint die console, ok. aber wenn ich jetzt z.b. eine 3 oder auch egal was eingebe, und enter drücke schließst sie sich wieder....
des ist der code:#include <iostream> using namespace std; int main() { int a,b; cin >> a; if(a <= 10 && a>0) { b=a; } cout << b; cin.clear (); cin.ignore ( std::cin.rdbuf () -> in_avail () ); cin.get (); return 0; }
-
was erwartest du du denn noch ??
ich meine machst ne eingabe und dann gibts ggf ne ausgabe.. dann sollte dich doch auch dass fenster schleisen schliesslcih ist der code zuende???
mhh
solltest auch b nur weiterverwenden wenn du b was zugewiesen hast
-
firestorm. schrieb:
also danke schomal aber:
bei elwidas code: wenn ich das prog jetzt öffne erscheint die console, ok. aber wenn ich jetzt z.b. eine 3 oder auch egal was eingebe, und enter drücke schließst sie sich wieder....
des ist der code:#include <iostream> using namespace std; int main() { int a,b; cin >> a; if(a <= 10 && a>0) { b=a; } cout << b; cin.clear (); cin.ignore ( std::cin.rdbuf () -> in_avail () ); cin.get (); return 0; }
Bei mir klappt das auch nicht. Versuche einmal das:
cin.sync(); cin.get();
truebool schrieb:
was erwartest du du denn noch ??
ich meine machst ne eingabe und dann gibts ggf ne ausgabe.. dann sollte dich doch auch dass fenster schleisen schliesslcih ist der code zuende???
mhhEs müsste aber noch eine Eingabe erfolgen.
mfg
-
danke, so funkt es.
-
mhh naja bei mir sind es auch 2 eingaben
wenn ich
cin.clear ();
cin.ignore ( std::cin.rdbuf () -> in_avail () );
cin.get ();beutze .. deshalb .. ich dachte nach dem 2ten enter erwartet er noch was..
sörrüü ... lag bestimmt am compiler dass es auch mit dem source oben ging ..
-
falls du windows hast mach
system("PAUSE") !
-
aber warum denn
hier steht warum er nicht system("Pause"); benutzen sollte...
ausserdem läuft es doch nun... ohne system(); zu benutzen
-
das getchar() sollte eigentlich ein schließen verhinern...
ich würd dann noch ein endl einbauen.lg
l00P
-
Erhard Henkes schrieb:
Warum ist [...]
eigentlich nicht alscin.wait();
implementiert, um die Windows-Konsole für Anfänger gangbar zu gestalten?
Weil Windows und Anfänger auf der Prioritätenliste der C++-Arbeitsgruppe ganz unten stehen, weil man Konsolenprogramme von der Konsole starten sollte, und weil es der IDE zuzuschreiben ist, wenn sie das Konsolenfenster am Ende nicht offenhält.