c++定义一个表示周几的枚举类型 DayOfWeek,包含 Monday 到 Sunday。编写程序提示用户输入一个 1 到 7 的数字,将其转换为 DayOfWeek 枚举值,并输出对应的周几。
时间: 2024-12-04 17:24:48 浏览: 50
在 C++ 中,你可以通过定义一个名为 `DayOfWeek` 的枚举类型来表示一周的七天。首先,你需要创建这个枚举,并给每个成员赋一个整数值,周一对应 1,以此类推直到周日对应 7。然后你可以编写一个函数来接收用户的输入并根据这个映射转换成相应的枚举值。以下是实现这个功能的一个例子:
```cpp
// 定义枚举类型 DayOfWeek
enum class DayOfWeek {
Monday = 1,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
// 函数来将用户输入的数字转换为 DayOfWeek 枚举
DayOfWeek getUserInputAndConvert(int input) {
if (input >= 1 && input <= 7) {
switch (input) {
case 1:
return DayOfWeek::Monday;
case 2:
return DayOfWeek::Tuesday;
// ...继续添加剩余几天的case
default:
return DayOfWeek::Sunday; // 如果输入超出范围,返回周日作为默认值
}
} else {
throw std::invalid_argument("Invalid input! Please enter a number between 1 and 7.");
}
}
int main() {
int userInput;
cout << "Please enter a number representing the day of the week (1-7): ";
cin >> userInput;
try {
DayOfWeek dayOfWeek = getUserInputAndConvert(userInput);
cout << "You entered for " << static_cast<int>(dayOfWeek) << ", which corresponds to " << dayOfWeek << "." << endl;
} catch (const std::invalid_argument& e) {
cerr << e.what() << endl;
}
return 0;
}
```
在这个程序中,`getUserInputAndConvert` 函数会检查输入是否有效,然后根据输入的数字选择正确的 `DayOfWeek` 枚举值。在主函数中,我们获取用户输入并显示相应的周几。
阅读全文
相关推荐


















