C++ test, ob die Eingabe eine double/char

Ich versuche, eine Eingabe von dem Nutzer und müssen wissen, eine Möglichkeit zu haben, den das Programm erkennt, dass die Eingabe war oder war nicht ein double/char, das ist, was ich jetzt haben... aber wenn Sie geben eine falsche Art der Eingabe

1) den Doppel-test einer nur loops infinatly

2) der char wird nicht aufhören, looping, auch mit den richtigen imput

int main () {
    double _double = 0;
    bool done = true;
while ( done ) {
    cout << "Please enter a DOUBLE:\n" << endl;
    cin >> _double;
    if ( _double > 0 ) { done = false; }
    if ( _double < 0 ) { cout << "\nthe number you entered was less than zero\nplease enter a valad number..." << endl; } 
    if(cin.fail()) { cin.clear(); }
}

done = false;
char _char = ' ';
while ( !done ) {
    cout << "Please enter a CHAR" << "\n";
    cout << "\t'y' = yes\n\t'n' = no" << endl;
    cin >> _char;
    if ( _char == 'y' || _char == 'n' ) { done = true; }
    if ( ! (_char == 'y' || _char == 'n') ) { cout << "\nyou have entered an invald symbol... \n" << endl; }
    if(cin.fail()) { cin.clear(); }
}
  • Und es funktioniert nicht? Könnten Sie bitte angeben, Ausgabe -, und erwartete Ausgabe? Es wird Sie Antworten schneller.
  • Jeder char Eingabe ist ein char, natürlich. Wie konnte der test möglicherweise fehl? Der code schlägt vor, Sie suchen nach einem bestimmten char, insbesondere entweder 'y' oder 'n'.
InformationsquelleAutor Wallter | 2010-01-14
Schreibe einen Kommentar