Was sollten code geschrieben werden, zu akzeptieren groß-und Kleinbuchstaben Entscheidungen?

Ich bin Anfänger in c++ und schreiben ein Programm, das akzeptiert der Benutzer Entscheidungen und Handlungen nach...mein problem ist nur, wenn der Benutzer Großbuchstaben Wahl...das Programm behandelt, da es eine falsche Wahl...wenn 'e' war eine Wahl, die für Sie eine Nummer eingeben..wenn die vom Benutzer eingegebenen 'E' das Programm zeigt auch nicht den "geben Sie die Nummer" angezeigt..wie kann ich es beheben ? ich versuchte mein bestes, aber ich kann es nicht wieder arbeiten.. Oh , und wie kann ich Großbuchstaben in der Switch-Case-Anweisungen ?
Dies ist der Teil des Codes, der verantwortlich ist, der unter der Auswahl des Benutzers und entsprechend handeln es.

 #include <iostream>
 #include <cstring>
 using namespace std;

 int main(){

 char choice ;

 for(;;){
    do{
      cout << endl ;
      cout << "(e)nter." << endl ;
      cout << "(d)isplay." << endl;
      cout << "(u)pdate." << endl ;
      cout << "(r)eset. " << endl;
      cout << "(q)uit." << endl;
      cout << endl;
      cout << "Choose one : " ;
      cin >> choice ;

      if( !strchr("edurq",choice) && (choice>=97&&choice<=122) ){
         cout << "Enter e,d,u or q " << endl;}

      else if( !strchr("EDURQ",choice) && (choice<97&&choice>122) ){
         cout << "Enter E,D,U or Q " << endl;}

    }while( !strchr("edurqEDURQ",choice) );

 switch (choice) {
     case 'e' : enter(); break ;
     case 'd' : display(); break ;
     case 'u': update() ; break ;
     case 'r' : reset() ;break;
     case 'q' : return 0;
    }

  }
} 
  • !strchr("EDURQ",choice) && (choice<97&&choice>122): nichts kann sowohl <97 und >122, ist es nicht redundant mit den strchr rufen sowieso ?
InformationsquelleAutor rafael | 2010-02-17
Schreibe einen Kommentar