C-programmieren nur zahlen zulassen alles andere fehlerausgabe ?
ich hab folgendes programmiert. mein Programm soll Celsius in Fahrenheit und umgekehrt rechnen können.
das macht er auch jetzt möchte ich aber , dass mein Programm eine Fehlerausgabe macht falls man für die Zahl bestimmte Zeichen oder Buchstaben eingibt. Nur wie mache ich das ??
{
int Zahl,x,y,a;
printf("Geben sie die Temperatur an ");
scanf("%i",&Zahl);
if(Zahl>=-32768 || Zahl<=32767){
x=Zahl(1.8)+32;
printf("\nDie Temperatur C ist in Fahrenheit = %.2i",x);
}
else
printf("Eingabe unkorrekt nur Zahlen");
scanf("%i",&Zahl);
return 0;
}
1 Antwort
Scanf() gibt nur die Anzahl der erwartenden Parameter als Zahl zurück, wenn alles gut gelaufen ist.
D.h. scanf("%d %d", &i, &s) gibt nur 2 zurück, wenn alles glatt gelaufen ist.
Dementsprechend hat bei dir der Benutzer nur das richtige eingegeben wenn scanf() 1 zurückgibt. Hier ein kurzes Beispiel:
if(scanf("%i",&Zahl)==1){
...
}else{
printf("Fehler bei der Eingabe!");
}
irgendwie funktioniert das nicht. kann ich irgendwie nicht sagen if(eine Zahl) dann alles gut else(alles ausser eine zahl) fehlerausgabe