C++ 焦炭机代码的开关语句

C++ 焦炭机代码的开关语句,c++,switch-statement,C++,Switch Statement,我一直使用ifelse语句而不是switch语句,但我决定尝试一个switch out。我用开关做了基本的可乐机程序,我一辈子都搞不懂为什么它不能正常工作。当我使用数字1-5作为输入时,它会继续给出开关默认错误消息,而不是case cout语句(例如“youselected Coke”)。很明显,一定是出了什么问题,我没有看到/ #include <iostream> using namespace std; int main() { int number; c

我一直使用
if
else
语句而不是
switch
语句,但我决定尝试一个switch out。我用开关做了基本的可乐机程序,我一辈子都搞不懂为什么它不能正常工作。当我使用数字1-5作为输入时,它会继续给出开关默认错误消息,而不是case cout语句(例如“youselected Coke”)。很明显,一定是出了什么问题,我没有看到/

#include <iostream>

using namespace std;

int main()
{
    int number;

    cout << "Beverage List" << endl;
    cout << "Coke = 1" << endl;
    cout << "Dr. Pepper = 2" << endl;
    cout << "Water = 3" << endl;
    cout << "Sprite = 4" << endl;
    cout << "Lemonade = 5" << endl << endl << endl;
    cout << "Enter a number to choose a beverage: ";
    cin >> number;

    switch (number)
    {
    case '1':
        cout << "You chose Coke";
        break;

    case '2':
        cout << "You chose Dr. Pepper";
        break;

    case '3':
        cout << "You chose Water";
        break;

    case '4':
        cout << "You chose Sprite";
        break;

    case '5':
        cout << "You chose Lemonade";
        break;

    default:
        cout << "Error: Choice was not valid. Here is your money back.";

    }

    cout << "\n";
    system("pause");
    return 0;
}
#包括
使用名称空间std;
int main()
{
整数;

cout字符
'1'
与数字
1
不同

改变

case '1':


看起来您的case语句正在比较字符,而不是整数:

case '5':
请尝试以下方法:

case 5:

丢失所有这些大小写值周围的单引号。哦,这完全有道理。我查看的所有用于提示的switch语句示例都使用了char,但我只是假设使用“”正是您进行切换的方式。感谢您快速而简单的回复。
case 5: