判断次数不唯一,实现多次判断
时间: 2023-08-17 17:04:08 浏览: 47
好的,以下是用循环实现多次判断的 C++ 代码:
```cpp
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main() {
string phoneNum;
regex pattern("[0-9]{3} [^01][0-9]{2} [0-9]{4}"); // 正则表达式
cout << "请输入电话号码(格式为:地区码 前缀 后缀),输入 q 或 Q 退出程序:" << endl;
while (getline(cin, phoneNum)) {
if (phoneNum == "q" || phoneNum == "Q") { // 如果用户输入 q 或 Q,则退出程序
break;
}
if (regex_match(phoneNum, pattern)) {
cout << "符合规定的电话号码!" << endl;
} else {
cout << "不符合规定的电话号码!" << endl;
}
cout << "请输入电话号码(格式为:地区码 前缀 后缀),输入 q 或 Q 退出程序:" << endl;
}
return 0;
}
```
解释:
- 定义了一个字符串 `phoneNum`,用于存储用户输入的电话号码;
- 定义了一个正则表达式 `pattern`,它的含义和前面的例子相同;
- 通过 `getline(cin, phoneNum)` 从标准输入循环读取用户输入的电话号码,如果读取失败(比如用户按下了 Ctrl+C),则退出程序;
- 如果用户输入了 q 或 Q,则退出程序;
- 使用 `regex_match(phoneNum, pattern)` 来判断输入的电话号码是否符合正则表达式 `pattern` 的规定;
- 最后根据判断结果输出相应的提示信息,然后再次提示用户输入电话号码,进入下一轮循环。
注意:这里使用了循环结构,当用户输入 q 或 Q 时,跳出循环,程序结束。