void showMenu()
{
cout<<setfill('*')<<setw(28)<<" "<<endl;
cout<<"***** 1.添加联系人 *****"<<endl;
cout<<"***** 2.显示联系人 *****"<<endl;
cout<<"***** 3.删除联系人 *****"<<endl;
cout<<"***** 4.查找联系人 *****"<<endl;
cout<<"***** 5.修改联系人 *****"<<endl;
cout<<"***** 6.清空联系人 *****"<<endl;
cout<<"***** 0.推出通讯录 *****"<<endl;
cout<<"**************************"<<endl;
};
//联系人结构体
struct person
{
string name;
string sex;
int age;
string pNumber;
string add;
};
//通讯录结构体
struct addressbooks
{
struct person personArray[MAX];
int size;
} ;
//1.添加联系人
void addPerson(addressbooks*ads)
{
//判断通讯录是否已满,如果满了就不再添加
if (ads->size==MAX)
{cout<<"通讯录已满"<<endl;
return ;}
else
{
//添加具体联系人
//姓名
string name;
cout<<"请输入姓名:"<<endl;
cin>>name;
ads->personArray[ads->size].name=name;
//性别
int sex=0;
cout<<"请输入性别:"<<endl;
cout<<"1--男"<<endl;
cout<<"2--女"<<endl;
while(true){
//如果输入的是1或者2可以推出循环,若有误,重新输入
cin>>sex;
if(sex==1||sex==2){
ads->personArray[ads->size].sex=sex;
break;
}
cout<<"输入有误,请重新输入"<<endl;}
//年龄
cout<<"输入年龄:"<<endl;
int age=0;
cin>>age;
ads->personArray[ads->size].age=age;
//电话
cout<<"输入联系电话"<<endl;
string phone=0;
cin>>phone;
ads->personArray[ads->size].pNumber=phone;
//住址
cout<<"请输入家庭地址:"<<endl;
string i=0;
cin>>i;
ads->personArray[ads->size].add=i;
//更新通讯录人数
ads->size++;
cout<<"添加成功"<<endl;
system("pause");
system("cls");//清屏
};
} ;
int main(){
//创建通讯录结构体变量
addressbooks ads;
//初始化通讯录中当前人员个数
ads.size=0;
```为什么编译的时侯没有显示错误,运行的时候运行到输入电话号码的时候出错了呢
显示 terminate called after throwing an instance of'std::logic_error' what() : basic_string::_S_construct null not valid
请教一下各位这个问题的原因是什么
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 快乐鹦鹉 2022-09-13 20:33关注
string phone=0;错误,你这等于是将 phone设置为空了。只需要string phone 就可以了。或者 string phone = "";
后面的 string i=0,也是一样
string是字符串,不是整数 ,不能初始化等于0的。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用
悬赏问题
- ¥15 静电纺丝煅烧后如何得到柔性纤维
- ¥15 (标签-react native|关键词-镜像源)
- ¥100 照片生成3D人脸视频
- ¥15 伪装视频时长问题修改MP4的时长问题,
- ¥15 JETSON NANO
- ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
- ¥20 关于 openpyxl 处理excel文件地问题
- ¥15 MS中不知道高分子的构型怎么构建模型
- ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
- ¥15 matlab代码 关于微分方程和嵌套的分段函数。