aa
#include <iostream>
#include<cstring>
using namespace std;
class CTelNumber{
char *p;
public:
CTelNumber(){p= new char[9];}
CTelNumber(const char*number);
CTelNumber(const CTelNumber& r);
~CTelNumber(){delete [] p;}
void print(){cout<<p<<endl;}
};
CTelNumber::CTelNumber(const char*number){
p= new char [9];
strcpy(p,number);
}
CTelNumber::CTelNumber(const CTelNumber& r){
p= new char [9];
if(r.p[0]=='5' || r.p[0]=='6' || r.p[0]=='7' || r.p[0] == '8'){
p[0]='2';
strcpy(p+1,r.p);
print();
}
else if(r.p[0] == '2' || r.p[0] == '3' || r.p[0] == '4'){
p[0]='8';
strcpy(p + 1,r.p);
print();
}
else{
cout << "Illegal phone number" << endl;
}
}
int pg(char* num)
{
int i;
if(strlen(num)==7)
{
if(num[0]!='2'&&
num[0]!='3'&&
num[0]!='4'&&
num[0]!='5'&&
num[0]!='6'&&
num[0]!='7'&&
num[0]!='8')
{
return 0;
}
for(i = 0;i < 7;i++){
if(num[i]>'9' || num[i]<'0')
{
return 0;
}
}
return 1;
}
else{
return 0;
}
}
int main()
{
int t;
cin >> t;
while(t--)
{
//char num[10]={0};
char num[10];
cin >> num;
if(pg(num)){
CTelNumber a1(num);
CTelNumber a2(a1);
}
else{
cout << "Illegal phone number" << endl;
}
}
return 0;
}
该C++代码定义了一个CTelNumber类,用于规范化输入的电话号码。如果输入是2/3/4/5/6/7/8开头,将其转换为固定格式。main函数中读取用户输入并调用类方法进行处理。

838

被折叠的 条评论
为什么被折叠?



