Windows Eingabeaufforderung bricht nach dem ausführen des Programms ab

Gast #1204504
Lesenswert?

Hallo, ich beziehe mich erstmal auf folgenden Quelltext:
1
/* bsp10006.c */
2
#include <stdio.h>
3

4
main() {
5
       float x,y;
6
       printf("\n\t2 . R e c h e n p r o g r a m m\n");
7
       printf("\nBitte x eingeben :");
8
       scanf("%f",&x);
9
       printf("Bitte y eingeben :");
10
       scanf("%f",&y);
11
       printf("\n %f + %f ist %f",x,y,x+y);
12
       printf("\n %f - %f ist %f",x,y,x-y);
13
       printf("\n %f * %f ist %f",x,y,x*y);
14
       printf("\n %f / %f ist %f",x,y,x/y);
15
       }

Und zwar Schilder ich mal das Problem!

Ich habe heute angefangen zu Programmieren (C) und arbeite mit dem 
Dev-C++ Compiler.
Wenn ich das obengenannte Programm schreibe (welches eine Übung aus 
einem Buch ist) schließt die Windows Eingabeaufforderung, die ja am 
anfang gestartet wird, direkt nach der eingabe von "y" und ich sehe halt 
keine Ergebnisse :(

Hat jemand eine idee woran das liegen könnte?
(Wie gesagt, ich habe heute das erstmal in meinem Leben ein Programm 
geschrieben, also bitte nicht böse sein wegen der vielleicht dummen 
Frage :)
Gast #1204510
Lesenswert?

warum sollte sie denn auch offen bleiben?

Wenn du sie selber voher von hand öffnest (start-> ausführen-> cmd 
[enter]) dann bleibt sie auch offen.
Du musst das das Programm auch auf der Kommandozeile starten und darst 
es nicht mit doppelklick starten!
Gast #1204512
Lesenswert?

Ich nehme an, dass du das Programm per Klick auf die Exe startest. Rufe 
mal die Eingabeaufforderung über das Startmenü auf, navigiere zu dem 
Ordner und tippe da den Namen des Programms ein. Nach Programmende 
sollte das Fenster der Eingabeaufforderung noch immer offen sein und du 
siehst das Ergebnis.
Gast #1204536
Lesenswert?

Wow!!

Dankeschön für die schnellen Antworten!
Es klappt tatsächlich... Und ja, vorher habe ich die .exe mit dem 
Maus-Doppelclick geöffnet :)

Also dann bedanke ich mich mal!

-Problem gelöst

gruß Thomas
Gast #1204554
Lesenswert?

@Niklas G. (erlkoenig)
> doch, mit
> system ("pause");
nö, weil es bei C kein "system" gibt sonder ein CreateProcess aber auch 
das geht nicht weil "pause" kein Befehl ist sondern ein Commando in der 
Eingebeaufforderrung, damit kann man es nicht von einem anderen Programm 
ausführen.

CreateProcess( ..., 'cmd.exe /C pause', ... ) könnte gehen.
Persönliche Seite #1204672
Lesenswert?

> Aber pause gibt es immer noch nicht als befehl. (hoffentlich)
Hm. Ich habe es zwar noch nicht selbst ausprobiert, aber schon zig mal 
in anderen Foren gelesen (z.B. 
http://www.funpic.de/forum/webhosting/ptopic,329338.html#329338 oder 
http://www.funpic.de/forum/webhosting/ptopic,163696.html#163696 ) und 
daher vermutet, dass es das gibt. Unter Linux mit wine geht es 
jedenfalls :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren