Veröffentlicht 13. Dezember 200519 j hi, bin neu hier und im ersten lehrjahr von daher is meine frage recht "bescheuert". ich habe folgendes programm geschrieben: #include <iostream.h> #include <conio.h> #include <iomanip.h> using namespace std; int main (void) //-------------------------------------------- { double gehalt ; cout<<"Bitte geben Sie ihr monatliches Gehalt an: "; cin>> gehalt; if (gehalt >= 1000) { cout<<"Sie verdiehnen über dem durchschnitt"<<endl; } else { cout<<"Du arme sau :P"<<endl; } getch(); return 0; } das problem is, das ich garkeine ausgabe bekomm. was mich sehr verwundert, da ich die ja angegeben habe. mfg
13. Dezember 200519 j ich bekomme die ausgabe und du hast keine fehler drin ... lösch mal die alte exe und versuchs nochmal
13. Dezember 200519 j ich bekomm ja garkeine ausgabe. bei mir schliesst sich einfach das fenster wieder. wenn ich mehr oder genau 1000 eingebe sollte ja "Sie verdiehnen über dem durchschnitt" ausgegeben werden. bzw wenns weniger is solle kommen "Du arme sau :P"
13. Dezember 200519 j Hallo, Dass sich das Fenster schliess bedeutet nicht, dass es keine Ausgabe gibt (Du arbeitest unter Windows?). Wahrscheinlich wird noch irgendetwas im Tastaturpuffer stehen, was dazu führt, dass getch() sofort zurückkommt und nicht auf eine Eingabe wartet. Wie startest Du denn das Programm (Mausklick, Kommandozeile im offenen Fenster, ...)? Nic
13. Dezember 200519 j super. da kann ich mir ja ewig den kopf zerbrechen...also bei mir klappt es jetzt auch. ich hab einfach den ganzen quellcode kopiert. anschliessend den borland builder5 neu gestartet...nen konsolen-experten aufgemacht, eingefügt...und dan is es gelaufen. an was kann denn sowas liegen? is der borland builder 5 vielleicht etwas verbuggt oder so?
13. Dezember 200519 j Dein erstes Programm hat einwandfrei funktioniert, es wurde eben nur schneller beendet als du die Ausgabe lesen kannst. Dies sollte normalerweisse durch das Getch() am Ende verhindert werden, funktioniert aber manchmal aus (mir) unerfindlichen Gründen nicht.
13. Dezember 200519 j ja natürlich. sonst währe ich ja nicht auf die idee gekommen aber an was liegt denn sowas? bzw was soll man denn unter nem Tastaturpuffer verstehen? oder liegt das doch am borlandb.? P.s Danke nochmal für eure hilfe
14. Dezember 200519 j Wenn du eine Eingabe von der Tastatur liest, dann machst du das nicht direkt von der Tastatur sondern du fragst Windows bzw. dein BS ob was da ist. Dieses stellt halt einen Puffer bereit in den es alle Tastaurereignisse einliest und gibt den Inhalt des Puffers dann an dich weiter. Wenn jetzt bei dir beim Aufruf von getch() noch etwas im Puffer drin steht dann gibt Windows natürlich das direkt an dich weiter anstatt das auf eine weiter Eingabe gewartet wird. Das heißt du musst den Puffer vor dem Aufruf von getch leeren.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.