【发布时间】:2020-11-06 09:39:58
【问题描述】:
嗨,我用开关做了一个程序,如果我输入一个字符来告诉我是元音还是辅音如果是字母来告诉我是奇数还是数字我不明白问题出在哪里条件是必须使用开关。 问题是:它没有给我任何错误,但是当我输入一个字母时,它还会显示该字母是偶数还是奇数。我该如何解决这个问题?
char n;
cout<< "Input character : "; cin>>n;
switch(n){
case 'A':
case 'a':
case 'E':
case 'e':
case 'I':
case 'i':
case 'O':
case 'o':
case 'U':
case 'u':
cout<<n<< " vowel ."<<endl; break;
case 'B':case 'b':case 'C':case 'c':case 'D':case 'd':
case 'F':case 'f':case 'G':case 'g':case 'H':case 'h':
case 'J':case 'j':case 'K':case 'k':case 'L':case 'l':
case 'M':case 'm':case 'N':case 'n':case 'P':case 'p':
case 'Q':case 'q':case 'R':case 'r':case 'S':case 's':
case 'T':case 't':case 'V':case 'v':case 'W':case 'w':
case 'X':case 'x':case 'Y':case 'y':case 'Z':case 'z':
cout<<n<< " is consonant ."<<endl; break;
}
switch(n%2 ==0){
case 0: cout<<n<< " is even"; break;
case 1: cout<<n<< " is odd"; break;
default:cout<<n<< " is simbol"<<endl; break;
}
【问题讨论】:
-
提示:
char只是一个整数值,n%2只有两种可能的结果:0 或 1,在第二个开关中不能命中默认大小写。您需要找到一种方法来确定n代表的是数字还是字母。 -
您需要嵌套
switch语句。此外,标准库中有各种函数用于检查字符是否为字母、大写、小写、数字等。使用这些函数将大大简化您的代码。 -
例如,有哪些功能?
-
提供minimal reproducible example 会很有帮助。您可以使用 godbolt.org 。详细描述所需的行为也会有所帮助。
标签: c++ c++11 c++14 c++17 codeblocks