Neu in C
-
hume schrieb:
du musst am ende ein temporäres getchar(); einfügen:
Jop, jetzt geht alles einwandfrei danke
Sollte es aber nicht. Beziehungsweise hier funktioniert es zwar, aber beim nächsten Programm wird das schon nicht mehr gehen. Versuch lieber heraus zu finden, wieso CTRL+F5 bei dir nicht geht.
-
Sollte es aber nicht. Beziehungsweise hier funktioniert es zwar, aber beim nächsten Programm wird das schon nicht mehr gehen. Versuch lieber heraus zu finden, wieso CTRL+F5 bei dir nicht geht.
Das stimmt, bei dem Rechenprogramm geht es nicht mehr. Nun wenn ich CTRL+F5 drücke wird dass Programm aufgerufen hier mal der Quellencode:
#include <stdio.h> main () { float x,y; printf("\n\t2 Rechenprogramm\n"); printf("\nBitte x eingeben:"); scanf("%f",&x); printf("Bitte y eingeben:"); scanf("%f",&y); printf("\n %f + %f ist %f",x,y,x+y); printf("\n %f - %f ist %f",x,y,x-y); printf("\n %f * %f ist %f",x,y,x*y); printf("\n %f / %f ist %f",x,y,x/y); }
Ist es möglich die Ergebnisse zu sehen, bevor dass Programm beendet wird, sprich Funktion oder so?
-
Hier liegt das Problem daran, dass von der Eingabe beim y noch die Entertaste im Eingabestrom steht. Die wird vom
scanf
nicht mehr eingelesen.Damit es Standardkonform ist: http://www.c-plusplus.net/forum/p1146014#1146014
-
hume schrieb:
Ist es möglich die Ergebnisse zu sehen, bevor dass Programm beendet wird, sprich Funktion oder so?
Ja! eigentlich ist dazu das CTRL+F5 da. Du drückst schon die richtigen Tasten, oder? Gleichzeitig? Und deine CTRL-Taste funktioniert auch?
-
Ja! eigentlich ist dazu das CTRL+F5 da. Du drückst schon die richtigen Tasten, oder? Gleichzeitig? Und deine CTRL-Taste funktioniert auch?
Ja, er öffnet mich auch dass Fenster. Nun habe ich mir den Link http://www.c-plusplus.net/forum/p1146014#1146014 angesehen und so ungefähr übernommen, nun wird am Anfang ein leeres Fenster gezeigt durch drücken Enter erscheint dann dass eigentliche Programm. Es verschwindet aber nach den Eingaben dass Fenster und es werden keine Ergebnisse angezeigt.
#include <stdio.h> main() { int c,x,y; while ((c = getchar()) != EOF && c != '\n'); printf("\n\t1. Rechenprogramm\n"); printf("\nBitte x eingeben:"); scanf("%i",&x); printf("Bitte y eingeben"); scanf("%i",&y); printf("\n %i + %i ist %i",x,y,x+y); printf("\n %i - %i ist %i",x,y,x-y); printf("\n %i * %i ist %i",x,y,x*y); printf("\n %i / %i ist %i",x,y,x/y); printf("\n %i %% %i ist %i",x,y,x%y); }
-
Die while-schleife gehört an das Ende vom Programm.
Du willst damit ja die Reste von der Eingabe vom y-Wert abfangen.
-
Die while-schleife gehört an das Ende vom Programm.
Vergesse ich immer wieder
Hier der korrekte Code:
#include <stdio.h> main() { int c,x,y; printf("\n\t1. Rechenprogramm\n"); printf("\nBitte x eingeben:"); scanf("%i",&x); printf("Bitte y eingeben"); scanf("%i",&y); printf("\n %i + %i ist %i",x,y,x+y); printf("\n %i - %i ist %i",x,y,x-y); printf("\n %i * %i ist %i",x,y,x*y); printf("\n %i / %i ist %i",x,y,x/y); printf("\n %i %% %i ist %i",x,y,x%y); getchar(); while ((c = getchar()) != EOF && c != '\n'); }
-
hume schrieb:
Ja! eigentlich ist dazu das CTRL+F5 da. Du drückst schon die richtigen Tasten, oder? Gleichzeitig? Und deine CTRL-Taste funktioniert auch?
Ja, er öffnet mich auch dass Fenster.
Es sollte aber nach Beenden offen bleiben! Das ist doch gerade der Unterschied zwischen F5 und CTRL+F5. Wenn das bei dir nicht so ist, dann ist bei dir etwas kaputt, etwas ist total verstellt oder du machst etwas falsch.
-
Es sollte aber nach Beenden offen bleiben! Das ist doch gerade der Unterschied zwischen F5 und CTRL+F5. Wenn das bei dir nicht so ist, dann ist bei dir etwas kaputt, etwas ist total verstellt oder du machst etwas falsch.
Dies ist jetzt nur wegen der Standartkonform so. Ansonsten wird dass Fenster schon geschlossen auch bei STRG und F5. Ferstellt habe ich nichts, habe diese Demo erst heute installiert und aber nichts verändert. Habe es aber unter
installiert und C: wurde bei der Installation auch mit einbezogen aber vom Programm her.
-
naja ich habe es auch im kopf, dass man es nicht anhalten kann? warum sollte er es denn. das einzige was du machen kannst, ist statt getchar ein Haltepunkt setzen. (letzte Zeile)