.exe datei schließt ohne antwort zu geben
-
Also leutz,
ich bin grad was am basteln für meine Klasse..

Ich hab den Quelltext jetzt(meiner Meinung nach) richtig geschrieben... Der Compiler findet auch keine Fehler oder Warnungen, aber wenn ich die .exe datei öffne und den variablen einen Wert zuweise, kommt kein ergebnis, sondern es wird beendet..

ich schreib mal den Quelltext hier rein, damit ihr versteht was ich meine:
// Mithilfe des Satzes von Pythagoras die Hypotenusenlänge berechnen #include <iostream.h> #include <math.h> int main() { // Variablen deklarieren float Kathetea; float Katheteb; float Hypquadrat; float Hyp; // eintippen von Kathete a cout <<"Geben Sie die Laenge der Kathete a an: "; cin >>Kathetea; // eintippen von Kathete b cout <<"Geben Sie die Laenge der Kathete a an: "; cin >>Katheteb; // Rechnungswege Hypquadrat=(Kathetea*Kathetea)+(Katheteb*Katheteb); Hyp=sqrt(Hypquadrat); //Output des Ergbnisses cout <<"Die Laenge der Hypotenuse betraegt" <<Hyp <<"cm.\n"; return 0; }Bin dankbar für jede Antwort

-
für es mal in der console aus, oder schau alternativ in die consolenfaq...das sit definitiv die am meisten gestellte frage überhaupt

nebenbei kannst du dich gleich noch weiter durch die faq wühlen, da am code noch einiges mehr nicht stimmt

-
Das Ergebnis wird noch ausgegeben, allerdings beendet das Programm sofort darauf und du kannst es nicht mehr sehen. Eine Lösung des Problems findest du im Forum ganz unten in der Konsolen-FAQ im Thread "Automatisches Schließen verhindern".
BTW: Die Header heißen <iostream> und <cmath> und nicht mehr <iostream.h> und <math.h>!
MfG SideWinder
-
otze schrieb:
für es mal in der console aus, oder schau alternativ in die consolenfaq...das sit definitiv die am meisten gestellte frage überhaupt

nebenbei kannst du dich gleich noch weiter durch die faq wühlen, da am code noch einiges mehr nicht stimmt

egal ob ich es in der console ausführe oder mit der .exe datei.. es klappt einfach nicht...

aber danke für die antwort..
@Sidewinder: Wieso das denn??
ich habs mal mit devc++ versucht und da hats auch geklappt..
also heißt es doch, dass es auch so geht wie ich das im code stehen hab...
hm... c++ is komplizierter als ich gedacht habe. werds aber schon schaffen..
-
Hier die anwort:
entweder am ende system("PAUSE"); setzen
-
Mathegenie schrieb:
otze schrieb:
für es mal in der console aus, oder schau alternativ in die consolenfaq...das sit definitiv die am meisten gestellte frage überhaupt

nebenbei kannst du dich gleich noch weiter durch die faq wühlen, da am code noch einiges mehr nicht stimmt

egal ob ich es in der console ausführe oder mit der .exe datei.. es klappt einfach nicht...

aber danke für die antwort..
du bist dir sicher, dass du (wenn du unter windows arbeitest)die "eingabeaufforderung" gestartet hast, und dort von hand deine exe ausgeführt hast?
MartinMilbret schrieb:
Hier die anwort:
entweder am ende system("PAUSE"); setzen
dir würd ich auch nochmal die Faq ans Herz legen.
-
otze schrieb:
MartinMilbret schrieb:
Hier die anwort:
entweder am ende system("PAUSE"); setzen
dir würd ich auch nochmal die Faq ans Herz legen.
Hä, wieso, stimmt doch?// Mithilfe des Satzes von Pythagoras die Hypotenusenlänge berechnen #include <iostream.h> #include <math.h> #include <cstdlib> //für die neu eingefügte Anweisung int main() { // Variablen deklarieren float Kathetea; float Katheteb; float Hypquadrat; float Hyp; // eintippen von Kathete a cout <<"Geben Sie die Laenge der Kathete a an: "; cin >>Kathetea; // eintippen von Kathete b cout <<"Geben Sie die Laenge der Kathete a an: "; cin >>Katheteb; // Rechnungswege Hypquadrat=(Kathetea*Kathetea)+(Katheteb*Katheteb); Hyp=sqrt(Hypquadrat); //Output des Ergbnisses cout <<"Die Laenge der Hypotenuse betraegt" <<Hyp <<"cm.\n"; system("pause"); //müsste doch so gehen return 0; }
-
naja, ein system("pause") ist so ne Sache. was wenn du auf ne Konsole kommst wo es kein "pause" gibt? ein
cin << flush; cin.get();ist da schon besser: cout und cin flushen (cout wird durch den wechsel zu cin geflusht) und dann auf das nächste zeichen von cin warten...
-
pumuckl schrieb:
ein
cin << flush; cin.get();ist da schon besser
nur hat cin (als istream) keinen operator<<

-
Mal davon abgesehen, dass man cin nicht flushen kann / darf.
Höchstens sync()'en, was aber genau garnichts machen sollte.Und wer sagt einem eigentlich, dass man in einer Konsole läuft?

-
nochmals vielen dank für diese zahlreichen antworten, aber ich hab noch eine frage:
wie kann man zeichen speichern? ich habs schon mit char versucht, aber der speichert nur 1 zeichen
aber ich will mind. 1 wort speichern...
habs auch mit wchar_t versucht, da zeigt er mir nur einen fehler an..
ich könnt heulen...
-
versuch's mal mit char*, char[] oder std::string (ich empfehle letzteres).
-
also so etwas?:
std::string var; . . . cin >>var;danke..

Juchu!! Es klappt!!! *freudensprünge mach*PS: ein dickes lob an die community, sogar ich als noob werde hier ernstgenommen

is nicht bei allen foren der fall..