我是初學者到C++和編寫一個程序,接受用戶的選擇,並根據它行事......我唯一的問題是,當用戶輸入大寫選擇...該程序將其視爲一個錯誤的選擇...像如果'e'是輸入數字的選擇..如果用戶輸入'E',程序將不會顯示「輸入數字」消息..我可以修復它嗎?我盡我所能,但我無法得到它的工作..哦,我怎麼能在開關案件中添加大寫字母? 這是代碼的一部分,負責根據用戶的選擇採取行動。應該寫什麼代碼才能接受大寫和小寫選擇?
#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」,選擇)&&(選擇<97&&choice> 122)'!沒有什麼能既'<97' and '> 122',是不是多餘的用'strchr'通話無論如何? – 2010-02-17 18:32:38