006
13.02.2005, 15:23 Uhr
0xdeadbeef
Gott (Operator)
|
Zitat von RedEagle: |
ANSI-Standart
|
Ich weiß, dass das ein Standardschreibfehler ist, aber...ARGH!
@Hurricane: Das liegt daran, dass nach dem scanf noch ein return im Eingabepuffer ist. In diesem Fall sollte ein zweites getchar helfen, generell würd ich aber eher die gesamte Eingabe puffern. Das sähe dann etwa so aus:
C++: |
#include <stdio.h>
int main(void) { int x,y; char eingabe[100];
puts("\tl . R e c h e n p r o g r a m m\n");
printf("Bitte x eingeben : "); fflush(stdout); fgets(eingabe, sizeof(eingabe), stdin); sscanf(eingabe, "%i", &x);
printf("Bitte y eingeben : "); fflush(stdout); fgets(eingabe, sizeof(eingabe), stdin); sscanf(eingabe, "%i", &y);
printf("\n %i + %i ist %i\n", x, y, x + y); printf(" %i - %i ist %i\n", x, y, x - y); printf(" %i * %i ist %i\n", x, y, x * y); printf(" %i / %i ist %i\n", x, y, x / y); printf(" %i %% %i ist %i\n", x, y, x % y);
getchar();
return 0; }
|
...oder du kannst die eigentlich sinnvolle Variante nehmen und das getchar() aus dem Programm rauslassen - da hats nämlich eigentlich nichts zu suchen. Stattdessen schreibst du ein startskript, das du anstelle der EXE ausführst. Das sieht dann so aus:
batch: |
@echo off programm.exe pause
|
bzw. unter UNIX:
sh: |
#!/bin/sh
./programm read
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 13.02.2005 um 15:32 Uhr von 0xdeadbeef editiert. |