#includeusing namespace std; #include #define MAX 1000 void showMenu() { cout<<"**********************"< >name; abs->personArray[abs->m_Size].m_Name=name; //性别 cout<<"请输入性别"< >sex; if(sex==1||sex==2) { abs->personArray[abs->m_Size].m_Sex=sex; break; } cout<<"输入有误,请重新输入"; } //年龄 cout<<"请输入年龄"< >age; abs->personArray[abs->m_Size].m_Age=age; //电话号码 cout<<"请输入电话号码"< >phone; abs->personArray[abs->m_Size].m_Phone=phone; //地址 cout<<"请输入地址"< >addr; abs->personArray[abs->m_Size].m_Addr=addr; //更新通信录 abs->m_Size++; cout<<"添加成功"< personArray[i].m_Name==name) { return i; } } return -1; } void showPerson(struct Addressbooks*abs) { if(abs->m_Size==0) { cout<<"通讯录为空"< personArray[i].m_Sex==1?"男性":"女性")<<"t"; cout<<"年龄:" >name; int ret; ret=isExist(abs,name); if(ret==-1) { cout<<"查无此人"< personArray[ret].m_Sex==1?"男性":"女性")<<"t"; cout<<"年龄:" >name; int ret; ret=isExist(abs,name); if(ret!=-1) { for(int i=ret ;im_Size;i++) { abs->personArray[i]=abs->personArray[i+1]; } abs->m_Size--; cout<<"删除完成"< >name ; int ret; ret=isExist(abs,name); if(ret==-1) { cout<<"查无此人"< > name; abs->personArray[ret].m_Name = name; cout << "请输入性别:" << endl; cout << "1 -- 男" << endl; cout << "2 -- 女" << endl; //性别 int sex = 0; while (true) { cin >> sex; if (sex == 1 || sex == 2) { abs->personArray[ret].m_Sex = sex; break; } cout << "输入有误,请重新输入"; } //年龄 cout << "请输入年龄:" << endl; int age = 0; cin >> age; abs->personArray[ret].m_Age = age; //联系电话 cout << "请输入联系电话:" << endl; string phone = ""; cin >> phone; abs->personArray[ret].m_Phone = phone; //家庭住址 cout << "请输入家庭住址:" << endl; string address; cin >> address; abs->personArray[ret].m_Addr = address; cout << "修改成功" << endl; } system("pause"); system("cls"); } void cleanPerson(struct Addressbooks *abs) { abs->m_Size=0; system("pause"); system("cls"); } int main() { int select=0; //创建用户选择输入的变量 struct Addressbooks abs; abs.m_Size=0; while(true) { //菜单调用 showMenu(); cin>>select; switch(select) { case 1: addperson(&abs) ; //1.添加联系人 break; case 2: showPerson(&abs); //2.显示联系人 break; case 3: deletePerson(&abs); //3.删除联系人 break; case 4: findPerson(&abs); //4.查找联系人 break; case 5: modifyPerson(&abs); //5.修改联系人 break; case 6: cleanPerson(&abs); //6.清空联系人 break; case 0: //0.退出通讯录 cout<<"欢迎下次使用"< 总结 主要是使用结构体创建通讯录成员和保存属性 ,利用分支结构进行函数调用来进行各个功能的实现。值得一提的是while(true){}这个循环,达到目的停止循环。情况考虑 和 指针的各种调用熟练掌握。



