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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...