Hallo Leute,
ich bekomme es nicht hin, nur 3 Zeichen einzulesen:
#include
int main()
{
int artikel;
int anzahl;
float preis;
printf("\n3-stellige Artikelnummer: „);
scanf(“%3d",&artikel);
fflush(stdin);
printf(„Stückzahl: (max. 999)“);
scanf("%3d", &anzahl);
fflush(stdin);
printf(„Stückpreis: „);
scanf(“%f“, &preis);
printf("\nArtikelnummer\tStückzahl\tStückpreis\n\n");
printf("%-13ld\t%-9d\t€ %-.2f\n",artikel,anzahl,preis);
return 0;
}
Dann erhalte ich:
user@pc5:~/c$ gcc now.c && ./a.out
3-stellige Artikelnummer: 1234
Stückzahl: (max. 999)Stückpreis: 23
Artikelnummer Stückzahl Stückpreis
123 4 € 23.00
Aber fflush sollte doch dafür sorgen, daß stdin wieder leer ist für anzahl. Was mache ich falsch? Wie geht es richtig?
Gruß
Markus