scanf_s gorilla proof machen?
float eingabe;
scanf_s("%f", &eingabe);
return eingabe;
Mir ist bewusst, dass man hier einen Zahlenwert eingibt.
Nun zur Frage: Kann man es irgendwie gorilla proof machen, dass wenn ein Mensch mit wenig Gehirnzellen einen char-Wert, z.B. "c" eingibt, dass das Programm in der Konsole nicht am Schlappen dreht?
Absicht: Dass wenn man anstatt einer Zahl ein "c" eingibt, das Programm den Fehler erkennt und anders reagiert?
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Cplusplus, Programmiersprache, Softwareentwicklung
Die scanf_s-Funktion liefert einen Rückgabewert, der angibt, wie viele erfolgreiche Konversionen durchgeführt werden konnten.
float number;
int successfulConversions = scanf("%f", &number);
printf("%d", successfulConversions);
Anwendungsfälle:
>> a
>> 0
>> 3.5
>> 1
Bei einem invaliden Wert könnte man NAN zurückgeben.