Console schliesst sofort nach Ergebnissausgabe
-
Dann drücke halt Ctrl-F5 zum starten!
-
wie ist das denn bei euch?
schliesst das fenster nicht?
und wenn nein, was habt ihr eingestellt?
-
cin.get();
schafft bei mir abhilfe...
schau mal auf die Version, die du hast. die autoren - version ist anders als die 2005er.
-
IpOperator schrieb:
cin.get();
schafft bei mir abhilfe...
schau mal auf die Version, die du hast. die autoren - version ist anders als die 2005er.
Da lieber das was in der FAQ steht.
MfG SideWinder
-
also das programm sind so aus:
#include <stdio.h>
#include <stdlib.h>
void main (void)
{
double bonbon_preis, inflations_rate, preis_grenze;
int jahre;
printf("Bonbonpreis: ");
scanf("%lf",&bonbon_preis);
printf("\nInflationsraste: ");
scanf("%lf",&inflations_rate);
printf("\nPreisgrenze: ");
scanf("%lf",&preis_grenze);
inflations_rate=inflations_rate/100;
for(jahre=0;bonbon_preis<preis_grenze;jahre++)
{
bonbon_preis=bonbon_preis*inflations_rate+bonbon_preis;
}
printf("\n %0.2lf Preis nach %d Jahren \n",bonbon_preis,jahre);
system("PAUSE");
}hab abhilfe geschafft mit system("PAUSE"), das problem ist aber das dann ein TExt kommt, "Weiter taste DRücken" oder so ähnlich, und das in der selben Zeile wie das Endergebniss, obwohl ich nen \n im letzten printf gepackt hab.
wie krieg ich das hin?
-
In dem du verdammt nochmal nicht system("PAUSE") nimmst, sondern das was in der FAQ steht. Was bereits eine Seite vorher von mir gepostet worden ist. -.-
MfG SideWinder
-
system("PAUSE");
...ersetzt du durch...
getch();
-
fuer alle, die es NOCH nicht gerafft haben:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html
-
alicio schrieb:
wir haben auf den rechner in der UNI Microsoft C++ drauf und das läuft auch mit Win32 Konsole und dort braucht man keine zusätzlichen Zeilen hinschreiben damit das Fenster sich nicht schliesst.
Dann ist das ein Programmfehler oder es wurde speziell konfiguriert...
-
@Plexo: Bitte lesen
junix schrieb:
alicio schrieb:
wir haben auf den rechner in der UNI Microsoft C++ drauf und das läuft auch mit Win32 Konsole und dort braucht man keine zusätzlichen Zeilen hinschreiben damit das Fenster sich nicht schliesst.
Dann ist das ein Programmfehler oder es wurde speziell konfiguriert...
Wenn du es aus der IDE heraus ausführst kommt ein "Drücken Sie eine beliebige Taste" am Schluss. Sobald man das Programm aber vom Explorer aus startet wartet das Fenster natürlich nicht mehr.
MfG SideWinder
-
SideWinder schrieb:
In dem du verdammt nochmal nicht system("PAUSE") nimmst, sondern das was in der FAQ steht. Was bereits eine Seite vorher von mir gepostet worden ist. -.-
MfG SideWinder
das was in der faq stand hat verdammt nochmal nicht funktioniert!
-
deswegen ist es aber nicht falsch und du solltest an dir zu erst nach dem fehler suchen.
-
Es funktioniert in der IDE deshalbo ohne Zusatz-Code, weil das Programm nie
dierekt gestartet wird. Es läuft immer in einer Anzeigeumgebung. Wenn man es dann
allerdings ohne die Anzeigeumgebung der IDE aufruft, geht es natürlich sofort
wieder zu.
-
maxf schrieb:
Es funktioniert in der IDE deshalbo ohne Zusatz-Code, weil das Programm nie
dierekt gestartet wird. Es läuft immer in einer Anzeigeumgebung. Wenn man es dann
allerdings ohne die Anzeigeumgebung der IDE aufruft, geht es natürlich sofort
wieder zu.in meiner Studienrichtung Fahrzeugtechnik werden wir nur EINE C++ Klausur machen, danach nicht mehr. also nur so anfänger kram.
also mit dem getch() klappts auch, aber ich habs mit diesem IDE nicht so richtig verstanden weil ich anfänger bin.
kurz gefragt, kriege ich das mit der IDE auch hin ohne Zusatz-Code ?
-
@alicio
Das hängt von deiner IDE (das ist übrigens einfach ausgedrückt einfach nur die Abkürzung für Programmieroberfläche) ab. Bei manchen kann man einstellen, dass das Fenster offen bleibt, bei anderen kann man z. B. angeben, dass das compilierte Programm in der Konsole ausgeführt werden soll.Allerdings bringt das alles nichts, wenn du das Programm dann später trotzdem einfach vom Explorer aus aufrufst. Da verschwindet das Fenster einfach, wenn du deine Konsole nicht entsprechend eingestellt hast.
Ergo: Wenn du willst, dass das Fenster auf jeden Fall stehen bleiben soll, dann musst du eine zusätzliche Zeile reincoden. (Aber um Gottes Willen nicht system("PAUSE")!!!)
Ich führe die Konsolenprogramme übrigens, wie es sich gehört meiner Meinung nach, schön brav immer in der Konsole aus. Dann gibts auch kein Problem mit automatisch schließenden Fenstern.
-
Ein etwas anderer Vorschlag...hab das prog. leicht verändert...
Ich musste auf die harte Tour lernen das es gut ist den Tastatur-Buffer immer nach jedem scanf zu "leeren". Sonst klappt das getchar() ned immer weil irgendwo noch n Enter rumliegt.int main() { double bonbon_preis, inflations_rate, preis_grenze; int jahre; char berechnen='J'; while (berechnen=='J') { system("cls"); //clearScreen printf("Bonbonpreis: "); scanf("%lf",&bonbon_preis); while(getchar()!='\n'); //tastaturBuffer leeren (bis und mit NewLine) printf("\nInflationsraste: "); scanf("%lf",&inflations_rate); while(getchar()!='\n'); printf("\nPreisgrenze: "); scanf("%lf",&preis_grenze); while(getchar()!='\n'); inflations_rate=inflations_rate/100; for(jahre=0;bonbon_preis<preis_grenze;jahre++) { bonbon_preis=bonbon_preis*inflations_rate+bonbon_preis; } printf("\nPreis nach %d Jahren: %0.2lf\n\n",jahre,bonbon_preis); printf("Nochmals berechnen?[J/N]"); berechnen=toupper(getchar()); //Char lesen in Grossbuchstaben aendern und in "berechnen" speichern while(getchar()!='\n'); } printf("\n\nBeenden mit Enter..."); getchar(); }
Vielleicht gefällt dir das so...
-
also deine version krieg ich net zum laufen, folgender fehler:
38 c:\dev-cpp\untitl~2.cpp
implicit declaration of function `int toupper(...)'
-
Mhm... hab eine Lib vergessen...
#include <ctype.h>
die noch einbinden dann sollte es laufen...
-
kann es sein das auf Win2000 die Fenster nicht schliessen?
also auf der UNI sind alle Rechner Win2000.
-
junix schrieb:
Dann ist das ein Programmfehler oder es wurde speziell konfiguriert...
Die MSVC IDE startet für Konsolenprojekte ein Programm namens "vcspawn", das dann das eigentliche Programm startet und nach dessen Beendigung die erwähnte Meldung ausgibt und auf einen Tastendruck wartet.