Ich schreibe ein Programm, das als Taschenrechner fungiert; basierend auf der Zeicheneingabe durch den Benutzer führt er eine bestimmte Operation durch. Die Struktur des Programms scheint gut zu funktionieren, aber ich würde gerne in der Lage sein, nach fehlerhaften Eingaben zu suchen. Kann man nach dem Erhalt der float-Variablen prüfen, ob sie keine anderen Zeichen als Ziffern und Dezimalzahlen enthält? Ich habe isdigit
versucht, und dies:C++ Wie man eine Eingabe-Float-Variable für eine gültige Eingabe überprüft
if (!(cin >> x)) {
cout << "You did not enter a correct number!" << endl;
return;
}
Aber nichts scheint zu funktionieren. Hier
ist ein Beispiel für eine der einfachen Bedienung Funktionen Ich verwende:
void Add(){
float x = 0, y = 0, z = 0;
cout << "Please enter two numbers you wish "
<< "to add separated by a white space:" << endl;
cin >> x >> y;
z = x+y;
cout << x << " + " << y << " = " << z << "." << endl;
return;
}
möglich Duplikat [C++ IsFloat Funktion] (http://stackoverflow.com/questions/447206/c-isfloat-function) – Jack
überprüfen Sie den Link zu der duplizieren, vielleicht kann es dir helfen – Jack
Könntest du ein kleines Beispiel für die Eingabe bereitstellen, die nicht für dich funktioniert und was du willst? –