C++ Variable auf Fomat prüfen

JT1

Cadet 4th Year
Registriert
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
 
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:
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
 
JT1 schrieb:
Hab mich schonmal etwas durch-gegooglet, fand die meisten Lösungsvorschläge jedoch sehr kompliziert und aufwändig. Kann jemand helfen?
Code:
 int x;
 ...
 if(cin >> x) 
     cout << "integer found: " << x; 
 else 
     cout << "no integer found ";
 
Zurück
Oben