如何检查用户是否输入了元音字符?
How can I check if user entered vowels characters?
我编写了一个程序来获取用户输入并检查用户是否输入了元音字符。(这些字母是英语的元音:A,E,I,O,U,有时是Y,也有小写字母。
我的问题是我无法检查用户是否输入了例如"a"和"A"。
我收到此错误:
案例标签值已出现在第 13 行的此开关中。
我的程序:
#include <iostream>
int main()
{
int i = 0;
char myString[100];
std::cout << "Enter a String "; std::cin >> myString[100];
if (std::cin.fail()) {
std::cout << "Invalid Input!";
} else {
switch (myString[100])
{
case 'a' || 'A':
i++;
break;
case 'e' || 'E':
i++;
break;
case 'i' || 'I':
i++;
break;
case 'o' || 'O':
i++;
break;
case 'u' || 'U':
i++;
break;
}
}
return 0;
}
你误解了表达式'a' || 'A'
的值是什么!这是对'a'
或'A'
是否为 TRUE(即非零(的逻辑测试。由于它只涉及常量,因此它将在编译时计算为值1
, - 所有其他case
值也是如此。因此错误。
您需要的是,而不是:
case 'a' || 'A':
i++;
break;
用:
case 'a':
case 'A':
i++;
break;
其他字母也是如此。(如果您愿意,可以将两个case
检查放在同一行上。
相关文章:
- 无法在 C++ 中输入字符数组
- 当我输入字符类型的数字时,为什么我无法获得整数?
- 在不使用字符串库的情况下输入字符*
- 为什么当我输入字符时,这个特定的 cin.get() 语句在C++中不起作用?
- C++中输入字符数组的特定验证
- 如果用户在 int 中输入字符,如何使用输入
- 当我们在以下程序(C )中输入字符时,该如何解决
- 如何在结构中输入字符到向量
- 用户输入逻辑运算符符号或数字,如果输入字符或字符串则无效
- 输入字符时忽略回车键
- 在 switch 语句中输入字符以进行C++时用户输入错误
- 使用Back_inserter从任何位置的输入字符中使用Back_inserter进行过滤数组字符串
- 如何在应该显示的printf之前输入字符
- C++ 输入字符而不是 int 会导致无限循环.如何检查错误的输入
- 为什么"keep_window_open()"不等待输入字符?
- 为什么我的程序在输入字符时有一个无限循环
- 当提示输入整数值时输入字符时,为什么程序会中断
- 关闭回显后如何再次回显输入字符
- 忽略输入字符
- 从文件的单行读取输入字符