c++ - C++ 中有没有办法将字符串与 switch 语句一起使用?
问题描述
目前我正在尝试通过使用带有switch的字符串来获取用户输入,但是编译器很生气,它给出了一个异常,并以一个未知的错误关闭。这是我正在尝试的代码。
#include <iostream>
using namespace std;
int main()
{
string day;
cout << "Enter The Number of the Day between 1 to 7 ";
cin >> day;
switch (day) {
case 1:
cout << "Monday";
break;
case 2:
cout << "Tuesday";
break;
case 3:
cout << "Wednesday";
break;
case 4:
cout << "Thursday";
break;
case 5:
cout << "Friday";
break;
case 6:
cout << "Saturday";
break;
case 7:
cout << "Sunday";
break;
default:
cout << "Attention, you have not chosen the Valid number to Identify weekly days from 1 to 7. Try again!" << endl;
}
}
解决方案
不能在 switch 语句中使用字符串,在这个简单的示例中,您可以替换string day;
为int day;
. 如果变量必须是字符串,您始终可以将其转换为 int,您可以使用多种工具来执行此操作,并举几个strtol
例子stoi
。
推荐阅读
- php - 统计一个表的行,其中值是从另一个表中获取的,并循环显示
- amazon-web-services - 为具有不同内存使用情况的进程选择 EC2 实例类型的策略
- vb.net - Microsoft Store 是否支持在 Winforms 中使用 VB.Net 制作的应用程序?和 WPF 中的 VB.Net?
- python - 如何按日期时间索引熊猫数据框?
- oracle - DBMS_METADATA.GET_DDL 过程可以纠正不良缩进吗?
- javascript - 如何找出 ECMAscript 3.0 中可用的 Javascript 方法/功能/等
- python - 在 Python 中分离数据框以训练、测试和绘制数据
- firebase - 安全规则不会像文档所说的那样级联
- c++ - 查找向量数组中是否存在具有相同值的结构
- python - Selenium(PYTHON) 添加将数字转换为语法的变量