Überprüfen Sie, ob "cin" ist ein string
Habe ich ein einfaches kleines script, das ich bin-Kodierung, und ich bin versucht, nicht den Menschen ermöglichen, geben Sie eine Zeichenfolge ein, oder wenn Sie machen es zurück an den Anfang der Funktion wieder. Hier ist der code-Eingabe habe ich:
int main()
{
cout << "Input your first number" << endl;
cin >> a;
cout << "Input your second number" << endl;
cin >> b;
}
Den rest des Codes über dieses Teil funktioniert gut für das, was passiert, wenn ein string eingegeben wird hier offensichtlich nicht funktioniert.
Jede mögliche Hilfe würde geschätzt.
- Post-arbeiten-code -
a
undb
nicht erklärt hier. - Was sind die Arten von
a
undb
jeweils?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie diesen Beitrag nützlich,
Wie um zu überprüfen, ob die Eingabe numerisch ist in C++
Grundsätzlich können Sie der Eingang zu überprüfen, ob numerischer Wert oder nicht. Nach der überprüfung, ob die Eingaben zahlen, dann Sie können fügen Sie eine while-Schleife in main zu Fragen, Benutzer zu wiederholen wenn Eingabe keine gültige Zahl.
Jede Eingabe ist ein string. Wenn Sie wissen möchten, ob eine eingegebene Zeichenfolge konvertieren kann, um eine Zahl, die Sie Lesen müssen, um in einer Zeichenfolge und versuchen, es zu konvertieren selbst (z.B. mit strol).
Alternative wäre zu prüfen, ob die Lektüre von cin gescheitert, aber ich persönlich mag es nicht, weil cin.fail () - umfasst mehr Fehlersituationen als nur eine fehlgeschlagene Konvertierung geben.
Gibt es eine library-Funktion kann helfen,können Sie es nach Eingabe:
Tipps:
1.Sie sollten solche Dateien :
2.Wenn c, 0 ~ 9 ,return 1 ; else return 0.