C Überprüfen ob Zahl eingegeben wurde!

MrSyniXDriVe

Lt. Junior Grade
Registriert
Aug. 2013
Beiträge
308
Hallo zusammen.

Ich schreibe gerade in C-Programm, wo ich eine Eingabe tätigen soll. Die Eingabe darf aber nur eine positive Ganzzahl (also unsinged integer sein.

Wie kann ich überprüfen, ob es sich um eine positive Ganzzahl handelt. Wir haben schon einiges aus dem Internet durchprobiert, sind aber nie wirklich zu einem Ergebnis gekommen.

Danke schonmal für die Hilfe!

Grüße
MrSyniX
 
Code:
if(zahl >= 0)
{ 
  //Hier deine Sachen erledigen...
}
 
Ja, wow, das haben wir schon auch probiert ^^
Wenn ich aber z. B. 5a eingebe, wird es trotzdem so ausgeführt, als wäre es eine zahl.
 
Lies einen String ein und überprüfe ihn mit isdigit() aus ctype.h

Jetzt hast du natürlich noch das Problem, einen String sicher einzulesen.
 
honky-tonk schrieb:
vll schon mal versucht die ASCII character auszulesen...bzw die zu filtern?

Kannst du da eventuell mal ein Beispiel zeigen, wir haben das auch schon versucht aber hat ebenfalls nicht geklappt bei uns.
 
Wenn du keine Standardfunktionen verwenden sollst, schreib dir deine eigene, z.B. :

Code:
bool isNumber(char ch)
{
 if (ch == '0')
  return true;
 else if
 ...
 else
  return false;
}

Diese kannst du dann für jedes Zeichen deiner Eingabe in einer Schleife aufrufen
 
Zurück
Oben