某系统中关于电话号码是这样设定的:电话号码由地区码、前缀和后缀部分组成,地区码由空白或4位数字组成,前缀是非“0”或“1”开头的3位数字;后缀是4位数字;请写出等价类表和对应的测试用例
时间: 2024-03-19 13:42:25 浏览: 60
等价类表:
| 地区码 | 前缀 | 后缀 |
|--------|------|------|
| 空白 | 非01 | 数字 |
| 4位数字 | 非01 | 数字 |
测试用例:
| 地区码 | 前缀 | 后缀 | 预期结果 |
|--------|------|------|----------|
| | 234 | 5678 | 合法 |
| 1234 | 567 | 8901 | 合法 |
| 12345 | 567 | 8901 | 非法 |
| | 001 | 2345 | 非法 |
| 1234 | 001 | 2345 | 非法 |
相关问题
C++编程电话号码合法要求: 电话号码由三部分构成 地区码:空白或三位数字 前缀码:非"0"或”1”开头的三位数字 后缀码:四位数字 符合以上要求的为合法电话号码
好的,您的问题是关于C++编程中电话号码的合法要求。根据您的描述,一个合法的电话号码应由三部分构成:地区码、前缀码和后缀码。其合法要求如下:
1. 地区码:可以为空白或为三位数字。
2. 前缀码:必须是非"0"或"1"开头的三位数字。
3. 后缀码:必须为四位数字。
只有同时满足以上三个要求,才能认为一个电话号码是合法的。您可以在C++程序中使用正则表达式来验证一个字符串是否符合这些要求。具体实现方式请参考下面的示例代码:
```
#include <iostream>
#include <regex>
#include <string>
using namespace std;
bool isValidPhoneNumber(string phoneNumber) {
regex pattern(R"((\d{3})?\s*([2-9][0-9]{2})\s*(\d{4}))");
return regex_match(phoneNumber, pattern);
}
int main() {
string phoneNumber;
cout << "请输入电话号码:" << endl;
getline(cin, phoneNumber);
if (isValidPhoneNumber(phoneNumber)) {
cout << "该电话号码是合法的。" << endl;
} else {
cout << "该电话号码不是合法的。" << endl;
}
return 0;
}
```
在上面的代码中,我们使用了正则表达式`(\\d{3})?\\s*([2-9][0-9]{2})\\s*(\\d{4})`来匹配电话号码。其中,`(\\d{3})?`表示地区码可以为空白或为三位数字;`\\s*`表示可以有零个或多个空格;`([2-9][0-9]{2})`表示前缀码必须是非"0"或"1"开头的三位数字;`\\s*`又表示可以有零个或多个空格;`(\\d{4})`表示后缀码必须为四位数字。
最后,我们通过调用`regex_match`函数来判断字符串是否符合正则表达式的要求。如果符合,则输出"该电话号码是合法的。";如果不符合,则输出"该电话号码不是合法的。"。
某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字; 前缀—— 非‘0’或‘1’开头的三位数字; 后缀—— 4位数字。用c++代码实现电话号码的判断
以下是一个简单的电话号码判断程序,可以满足您的需求:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int checkPhoneNumber(char* str) {
int len = strlen(str);
if (len != 11) {
return 0;
}
for (int i = 0; i < len; i++) {
if (!isdigit(str[i])) {
return 0;
}
}
if (str[0] == '0' && str[1] == '0') {
return 0;
}
if (str[0] != '0' && str[0] != '1') {
return 0;
}
if (str[3] != ' ' && str[3] != '-') {
return 0;
}
if (str[7] != '-') {
return 0;
}
return 1;
}
int main() {
char phoneNumber[20];
printf("请输入电话号码:\n");
scanf("%s", phoneNumber);
if (checkPhoneNumber(phoneNumber)) {
printf("您输入的电话号码是合法的。\n");
} else {
printf("您输入的电话号码是不合法的。\n");
}
return 0;
}
```
该程序通过检查电话号码的长度、是否全部为数字、地区码、前缀、后缀等条件来判断电话号码的合法性。如果输入的电话号码符合以上条件,程序会输出“您输入的电话号码是合法的”,否则会输出“您输入的电话号码是不合法的”。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)