纯纯c++入门,学过C语言的就知道了,用数组写的
#include#include #define MAX 100//后期方便修改通讯录大小 using namespace std; struct Person//定义结构体数组,应该是这个名字 { int num; string name; string m_sex; int m_age; string phone; string address; }; struct addressbooks//结构体数组 { struct Person personarray[MAX]; int m_size; }; void showmenu()//通讯录可以进行的操作 { cout<<"****************************"< m_size==1000) { cout<<"通讯录已满!!!"< >name; per->personarray[per->m_size].name=name; cout<<"请输入性别"< >sex; if(sex==1||sex==2) { if(sex==1) per->personarray[per->m_size].m_sex=str1; else if(sex==2) per->personarray[per->m_size].m_sex=str2; break; } cout<<"输入有误,请重新输入!!!"< >m_age; per->personarray[per->m_size].m_age=m_age; cout<<"请输入电话"< >phone; per->personarray[per->m_size].phone=phone; cout<<"请输入地址"< >address; per->personarray[per->m_size].address=address; per->m_size++; } } void showperson(struct addressbooks *per)//遍历函数,把数组的拉出来遛一下 { if (per->m_size==0) { cout<<"通讯录未保存联系人"< m_size; i++) { cout<<"序号:"< personarray[i].num<<"t"; cout<<"姓名:"< personarray[i].name<<"t"; cout<<"性别:"< personarray[i].m_sex<<"t"; cout<<"年龄:"< personarray[i].m_age<<"t"; cout<<"电话号码:"< personarray[i].phone<<"t"; cout<<"家庭住址:"< personarray[i].address<<"t"; cout< m_size; i++) { if (per->personarray[i].num==num) { return true; } } return false;//这个别上在for循环里了,刚开始写进去,找了好久才发现 } int exist(struct addressbooks *per,int num)//该函数主要是为了返回一个i,方便对指定的数据进行处理 { for(int i=0;i m_size;i++) { if(per->personarray[i].num==num) { return i;//i就是数组的序号 } } return -1; //这个别上在for循环里了,刚开始写进去,找了好久才发现 } void delperson(struct addressbooks *per)//删除函数 { cout<<"输入你想删除的联系人的序号"< >no; int ret=exist(per,no); //ret==-1,没找到 //ret!=-1,找到了 if (ret!=-1) { for (int i = ret; i < per->m_size; i++) { // 数据前移,覆盖前面的数据 per->personarray[i]=per->personarray[i+1]; } per->m_size--; cout<<"删除成功!!!"< >num; int ret=exist(per,num); if (ret!=-1) { cout<<"序号:"< personarray[ret].num<<"t"; cout<<"姓名:"< personarray[ret].name<<"t"; cout<<"性别:"< personarray[ret].m_sex<<"t"; cout<<"年龄:"< personarray[ret].m_age<<"t"; cout<<"电话号码:"< personarray[ret].phone<<"t"; cout<<"家庭住址:"< personarray[ret].address<<"t"; cout< >num; int ret=exist(per,num); if (EXIST(per,num))//刚开始没注意这个问题,修改的序号也不能重复,注意一下就好 { cout<<"该序号已存在"< >tion; switch(tion) { case 1: { cout<<"请输入序号"< >num; per->personarray[ret].num=num; break; } case 2: { cout<<"请输入姓名"< >name; per->personarray[ret].name=name; break; } case 3: { cout<<"请输入性别"< >sex; if(sex==1||sex==2) { if(sex==1) per->personarray[ret].m_sex=str1; else if(sex==2) per->personarray[ret].m_sex=str2; break; } cout<<"输入有误,请重新输入!!!"< >m_age; per->personarray[ret].m_age=m_age; break; } case 5: { cout<<"请输入电话"< >phone; per->personarray[ret].phone=phone; break; } case 6: { cout<<"请输入地址"< >address; per->personarray[ret].address=address; break; } case 7: { cout<<"请输入序号"< >num; per->personarray[ret].num=num; cout<<"请输入姓名"< >name; per->personarray[ret].name=name; cout<<"请输入性别"< >sex; if(sex==1||sex==2) { if(sex==1) per->personarray[ret].m_sex=str1; else if(sex==2) per->personarray[ret].m_sex=str2; break; } cout<<"输入有误,请重新输入!!!"< >m_age; per->personarray[ret].m_age=m_age; cout<<"请输入电话"< >phone; per->personarray[ret].phone=phone; cout<<"请输入地址"< >address; per->personarray[ret].address=address; break; } } } else cout<<"未添加该序号联系人"< >option; switch(option) { case 1://1:添加联系人 { cout<<"请输入序号"< >num; per.personarray[per.m_size].num=num; if (EXIST(&per,num)) { cout<<"该序号已添加"< 应该是没什么大问题



