DarkShadow Geschrieben 27. September 2007 Geschrieben 27. September 2007 Guten Abend, ich bin noch ziemlich am Anfang von C++ und versuche mich langsam immer mehr reinzu arbeiten. Durch einen sehr "kreativen" Wunsch von einem Kollegen hin wollte ich einen Rasenmäher programmieren. Einen Rasenmäher der nicht wirklich mäht und nicht existiert. Einfach nur irgendwas eingeben und dann sagt der Rasenmäher ist eingeschaltet blablub und genau das selbe Spiel zum ausschalten. //--------------------------------------------------------------------------- #pragma hdrstop #include <iostream.h> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { char cps; cout<<"Um den Rasenm\x84 \bher anzuschmeissen geben Sie bitte \n"; cout<<"das folgende Wortkombination ein -> DFB-Pokalsieger 07 \n"; cin>>cps; cout<<"\n \n"; cout<<"Ihr Rasenm\x84 \bher wurde eingeschalten \n \n \n"; cout<<"Woooohaa der geht aber ab, super gemacht Herr Hoffmann! \n \n"; cout<<"Da wir aber nicht soviel Zeit haben.. schalten Sie ihn wieder ab. \n"; cout<<"Daf\x81 \br m\x81 \bssen Sie dies eingeben -> Ich bin Glubberer! \n"; cin>>cps; cout<<"\n \n"; cout<<"Ihr Rasenm\x84 \bher wurde ausgeschaltet"; getchar(); return 0; } //--------------------------------------------------------------------------- Anstatt das der Cursor immer nach der Zeile -> cout<<"Daf\x81 \br m\x81 \bssen Sie dies eingeben -> Ich bin Glubberer! \n"; wartet bis ich etwas eingebe springt er immer sofort unter -> cout<<"Ihr Rasenm\x84 \bher wurde ausgeschaltet"; woran liegt das? Das mit dem cps wäre glaub ich unwichtig. Es ist ja rein theoretisch egal was ich eingebe.. würde es dann mit getchar(); auch funktionieren? Also anstatt cin>>cps; immer getchar(); Ich bin mir so sicher das es eine einfache Lösung ist aber ich komm nach ner viertel Stunde immer noch nicht darauf.. Ich hoffe Ihr könnt mir da n Tipp geben. Mit freundlichen Grüßen aus Franken DarkShadow Zitieren
robotto7831a Geschrieben 27. September 2007 Geschrieben 27. September 2007 Hallo, mach doch mal das "\n" raus. Es gibt übrigens eine elegantere Variante. cout << "irgendetwas" << endl; Frank Zitieren
DarkShadow Geschrieben 27. September 2007 Autor Geschrieben 27. September 2007 Hallo Frank, ich habs mal mit -> << endl versucht, klappt aber nicht. Dann hab ichs einmal ohne Zeilenumbrüche versucht, geht aber auch nicht. Vll ist es ja gut zu wissen wenn ich sag das ich den Borland Builder 5 benutze. Mein Problem ist aber dennoch vorhanden.. Zitieren
Klotzkopp Geschrieben 27. September 2007 Geschrieben 27. September 2007 woran liegt das?Was hast du bei der ersten Möglichkeit denn eingegeben? Eine char-Variable fast nur ein einziges Zeichen. Wenn du gleich zu Beginn mehrere eingibst, werden die für die nächsten Einlesevorgänge benutzt. Wenn du jeweils nur ein Zeichen eingibst, sollte das auch nicht durchlaufen. mach doch mal das "\n" raus. Es gibt übrigens eine elegantere Variante. cout << "irgendetwas" << endl;An endl ist nichts "elegant". endl tut genau dasselbe wie die Ausgabe von \n, und flusht zusätzlich noch den Ausgabestrom, was hier aber völlig unnötig ist. Zitieren
DarkShadow Geschrieben 28. September 2007 Autor Geschrieben 28. September 2007 Was hast du bei der ersten Möglichkeit denn eingegeben?. Die 1. Möglichkeit war so wie ichs am Anfang gepostet hab. Danach hab ichs ohne \n versucht, dann mit endl und danach ohne \n und endl. Dachte es könnt vll am Zeilenumbruch.. aber es tut sich nichts... Wobei ich es jetzt grad irgendwie hinbekommen habe. Das erste cin>>cps; habe ich einfach durch getchar(); ersetzt. Beim zweiten bleibt aber das cin>>cps;. Jedoch schließt sich das Fenster gleich nach der Eingabe. Wie kann ich in C++ schreiben das das Fenster z.B. nach 2-3Sekunden automatisch schließt, falls das überhaupt möglich ist. DarkShadow Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.