C++ Variable auf Fomat prüfen

JT1

Cadet 4th Year
Dabei seit
Jan. 2012
Beiträge
107
Guten Abend zusammen,

ich habe eine Variable i (eingelesen über cin), die allerdings für die weitere Verarbeitung NUR eine Zahl enthalten darf, von beliebiger länge. Ich muss also irgendwie überprüfen, ob die Variable i nur Zahlen enthält, und keine Buchstaben oder sonstiges.

Hab mich schonmal etwas durch-gegooglet, fand die meisten Lösungsvorschläge jedoch sehr kompliziert und aufwändig. Kann jemand helfen?

LG
 

benneq

Admiral
Dabei seit
Juli 2010
Beiträge
9.011
Du bekommst einen String und überprüfst für jedes Zeichen, ob es eine Zahl ist.

Keine Ahnung wie genau das in C++ aussiehst, aber pseudocode wäre:

Code:
std::cin >> eingabeVariable;
boolean istZahl = true;
for(char character in eingabeVariable) {
  if(character != '0' || '1' || ... || '9') {
    istZahl = false;
  }
}
print(istZahl);
 
Zuletzt bearbeitet:

Jojo_44

Lt. Junior Grade
Dabei seit
Jan. 2010
Beiträge
448
Wir hatten mal so eine Aufgabe in einer Klausur in "Effizientes Programmieren mit C++". Die Musterlösung des Profs wäre gewesen:

Code:
int x;
cin >> x;

if(cin.fail())
{
    // input ist kein integer, Fehlermeldung
}
Hat übrigens keiner so gewusst ;)

mfg Jojo
 

blöderidiot

Captain
Dabei seit
Juni 2004
Beiträge
3.346
Top