首页 > 解决方案 > 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;
 }

}

标签: c++

解决方案


不能在 switch 语句中使用字符串,在这个简单的示例中,您可以替换string day;int day;. 如果变量必须是字符串,您始终可以将其转换为 int,您可以使用多种工具来执行此操作,并举几个strtol例子stoi


推荐阅读