Hallo zusammen. Ich bin dabei C zu lernen. Soweit geht das auch schon
ganz gut, nur hab ich eine Frage bzw ein Problem mit/bei scanf.
Ich will eine Float-Zahl also eine "Kommazahl" eingeben. Das heißt, ich
habe eine Variable "float zahl;" und beschreibe Diese mit " scanf("%f",
&zahl); ".
Soweit funkioniert das auch. Doch als Europäer schreibt man die Zahl ja
z.B. 4,5 und nicht wie die Amerikaner 4.5 . Wenn ich 4.5 eingebe, stimmt
auch alles soweit. Doch wenn ich 4,5 eingebe, erkennt er nur eine 4.0.
Ich kann auch "4jhaskdjkl5" eingeben, erkennen tut er nur die 4.
Ich hab es schon soweit geschafft, dass er es erkennt, wenn man nur
Zeichen hat und dann eine Fehlermeldung ausgibt:
1 | switch(scanf("%f", &zahl)){
|
2 | case 0:
|
3 | printf("Ungueltige eingabe");
|
4 | break;
|
5 | case 1:
|
6 | printf("%.3f", zahl);
|
7 | break;
|
8 | }
|
Wie kann ich das machen, dass er nur bei einer wirklich gültigen
Gleitkommazahl diese Zahl ausgibt?
Ich hoffe das Problem ist klargeworden.
Danke schonmal