某城市为了缓解交通拥堵问题,对机动车辆采取限号出行政策。 编写一个程序,给定机动车车牌尾号,判定本机动车本季度周几不能出行。已知本季度限行规则: 星期 限行号码(尾号) 周一4、9 周三1、6 周四2、7 周五3、8 周六、日 不限行 写一个c++代码
时间: 2023-07-10 07:12:31 浏览: 148
以下是一个简单的 C++ 代码实现:
```cpp
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main() {
string plate_number, weekday;
// 定义限行规则
unordered_map<string, vector<string>> rules = {
{"周一", {"4", "9"}},
{"周三", {"1", "6"}},
{"周四", {"2", "7"}},
{"周五", {"3", "8"}},
{"周六", {}},
{"周日", {}}
};
// 获取用户输入
cout << "请输入机动车车牌尾号:";
cin >> plate_number;
cout << "请输入本次出行日期(例如:周一):";
cin >> weekday;
// 获取本次出行日的限行规则
vector<string> limit_numbers = rules[weekday];
// 判断车牌尾号是否在限行规则内
bool is_limited = false;
for (string number : limit_numbers) {
if (plate_number == number) {
is_limited = true;
break;
}
}
// 输出结果
if (is_limited) {
cout << "本日不能出行!" << endl;
} else {
cout << "本日可以出行。" << endl;
}
return 0;
}
```
该程序使用了 C++11 中的 `unordered_map` 容器来存储限行规则,键为日期字符串,值为对应的车牌尾号数组。程序首先要求用户输入机动车车牌尾号和本次出行日期,然后根据输入的日期获取该日期的限行规则。最后判断用户输入的车牌尾号是否在限行规则内,如果是则输出 "本日不能出行!",否则输出 "本日可以出行。"。注意,在周六和周日这两天是不限行的,因此限行规则中不需要包含任何车牌尾号。
阅读全文