Veröffentlicht 21. Mai 201015 j Hallo zusammen, ich habe vor kurzem meine ausbildung zum ITA begonnen und wir starten gerade mit C. Ich möchte nun einen kleinen taschenrechner baun der nach zwei zahlen und einem operator fragt. der code: #include <stdio.h> #include <stdlib.h> float eingabea; float eingabeb; char operator; int main(int argc, char *argv[]) { printf("Bitte ersten Wert eingeben: \n"); scanf("%1.02f",&eingabea); printf("Bitte zweiten Wert eingeben: \n"); scanf("%1.02f",&eingabeb); printf("Please choose Operator (+,-,/,*)\n"); scanf("%c",&operator); system("PAUSE"); return 0; } Mein problem ist nun das wenn ich das programm starte man zwar den ersten wert eingeben kann, dann allerdings werden nurnoch die beiden folgenden printfs ausgegeben und die zweite zahl und den operator kann man nicht eingeben. kann mir da einer sagen ob und wie man das ändern kann? thx schonmal
21. Mai 201015 j "%1.02f" wäre bei printf ein gültiges Formatfeld, aber bei scanf sicher nicht. Was willst du denn damit erreichen?
22. Mai 201015 j Galileo Computing :: C von A bis Z – 4 Formatierte Ein-/Ausgabe mit »scanf()« und »printf()«
22. Mai 201015 j danke an euch beide, thx @ Klotzkopp: das 1.02 hatte ich noch garnicht so betrachtet... is absolut unnötig gewesen. thx @ lilith2k3: fflush(stdin); war die lösung
22. Mai 201015 j thx @ lilith2k3: fflush(stdin); war die lösung fflush(stdin) erzeugt undefiniertes Verhalten und funktioniert nur bei ein paar Compilern. Portabel ist das nicht.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.