Zum Inhalt springen

Brauche hilfe zu nem programm


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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"

Geschrieben

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

Geschrieben

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?

Geschrieben

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.

Geschrieben

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

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...