我是初学者到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