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条回答 默认 最新
相关推荐 更多相似问题
点击登录
提问题
悬赏问题
- ¥15 如何关闭soui dummy wdn 进程
- ¥20 含有jar文件的文件夹用tar -zcvf 命令压缩后要怎么还原回去?
- ¥15 天宝TBC软件出现报错怎么解决
- ¥15 micropython 从1开始切片报错
- ¥15 请问该怎么做才能将文字说明和二维码一起作为png图片一起下载
- ¥15 r语言 混频数据回归 midas_r
- ¥15 人脸识recogizer.predict返回值id报错,KeyError,详情如下
- ¥15 geowebcache部署失败
- ¥20 关于adaboost+haar特征实现人脸检测过程的一些细节问题
- ¥15 csv文件增加一列 为csv文件的名字