个人通讯录管理系统的程序

有谁能有关于 个人通讯录管理系统的程序,九能一整个程序都写好的那种,就是要交,比较急,

网上找啊,C++代码可以吗

#include<iostream>
#include<string>
using namespace std;
#define MAX 1000
//显示菜单界面
 
//设计联系人结构体(添加联系人)
struct Person{
    string m_Name;//姓名
    int m_Sex;//性别 男1  女2
    int m_Age;//年龄
    string m_Phone;//电话
    string m_Addr;//住址
};
//设计通讯录结构体(添加联系人)
struct Addressbooks{
struct Person personArray[MAX];//通讯录中保存联系人数组
int m_Size;//记录当前联系人个数
};
 
 
//1.添加联系人
void addPerson(Addressbooks * abs)
{ 
    //判断通讯录是否已满
    if(abs->m_Size==MAX){//参数中的一个项使用.,地址中的一个项使用->,这里的abs是一个地址,所以用->
        //指针要用->
        cout<<"通讯录已满,无法添加!"<<endl;
        return;}
    else{
        //添加具体联系人
        //姓名
        string name;
        cout<< "请输入姓名: "<<endl;
        cin >> name;
        abs->personArray[abs->m_Size].m_Name=name;
 
 
        //性别
        cout<<"请输入性别: "<<endl;
        cout<<"1---男"<<endl;
        cout<<"2---女"<<endl;
        int sex = 0;
        while(1){
            cin >> sex;
        if(sex==1||sex==2){
            abs->personArray[abs->m_Size].m_Sex=sex;
        break;
        }
        cout<<"输入有误,请重新输入"<<endl;
        }
        //年龄
        cout<<"请输入年龄:"<<endl;
        int age=0;
        cin>>age;
        abs->personArray [abs->m_Size].m_Age =age;
        //电话
        cout<<"请输入联系电话: "<<endl;
        string phone;
        cin>>phone;
        abs->personArray [abs->m_Size ].m_Phone =phone;
        //住址
        cout<<"请输入地址:"<<endl;
        string address;
        cin>>address;
        abs->personArray [abs->m_Size ].m_Addr =address ;
        //信息录入成功,通讯录人数加一
        abs->m_Size ++;
        cout<<"添加成功!"<<endl;
        system("pause");//按任意键继续
        system ("cls");//清屏
    }}
//2.显示所有联系人
void showPerson(Addressbooks * abs){
//判断通讯录中人数是否为0,如果为0,提示记录为空
    //如果不为0,显示记录的联系人信息
    if(abs->m_Size==0)
    {
        cout<<"当前记录为空"<<endl;
    }
    else{
        for(int i=0;i<abs->m_Size ;i++){
            cout<<"姓名:"<<abs->personArray [i].m_Name <<"\t";
            cout<<"性别:"<<(abs->personArray [i].m_Sex ==1?"男":"女")<<"\t";
            cout<<"年龄:"<<abs->personArray [i].m_Age <<"\t";
            cout<<"电话:"<<abs->personArray [i].m_Phone <<"\t";
            cout<<"住址:"<<abs->personArray [i].m_Addr <<endl;
        }
    }
    system("pause");//按任意键继续
    system ("cls");//清屏
}
//显示菜单
void showMenu(){
  cout<<"1.添加联系人:"<<endl;
  cout<<"2.显示联系人:"<<endl;
  cout<<"3.删除联系人:"<<endl;
  cout<<"4.查找联系人"<<endl;
  cout<<"5.修改联系人"<<endl;
  cout<<"6.清空联系人"<<endl;
  cout<<"0.退出通讯录"<<endl;
}
 
//3.检测联系人是否存在,如果存在,返回联系人在数组中的具体位置,不存在返回-1
//参数1 通讯录 参数2 姓名
int isExist(Addressbooks *abs, string name){
for(int i=0;i<abs->m_Size ;i++){
    if(abs->personArray [i].m_Name ==name)
    {return i;}
}//寻找联系人
return -1;//遍历结束仍然没有找到
}
 
//3.删除指定联系人
void deletePerson(Addressbooks *abs ){
    cout<<"请输入您要删除的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);//if ret=-1.未查到该人 else 查到了
    if(ret!=-1){
        //查到此人,要进行删除操作
        for(int i=ret;i<abs->m_Size;i++){
            // 使数据前移,实现逻辑上的删除功能
            abs->personArray [i]=abs->personArray [i+1];
    }
        abs->m_Size --;
        cout<<"删除成功!"<<endl;
    }
    else{
        cout<<"未查到此人!"<<endl;
    }
    system ("pause");
    system ("cls");
    }
 
//4.查找指定联系人信息
void findPerson(Addressbooks  *abs)
{
    cout<<"请输入您要查找的联系人"<<endl;
    string name;
    cin>>name;//判断指定的联系人是否存在于通讯录中
    int ret= isExist(abs,name);
    if(ret!=-1){//找到联系人
        cout<<"姓名:"<<abs->personArray [ret ].m_Name <<"\t";
    cout<<"性别:"<<(abs->personArray [ret ].m_Sex ==1?"男":"女")<<"\t";
            cout<<"年龄:"<<abs->personArray [ret ].m_Age <<"\t";
            cout<<"电话:"<<abs->personArray [ret ].m_Phone <<"\t";
            cout<<"住址:"<<abs->personArray [ret ].m_Addr <<endl;
 
}
else{//未找到联系人
    cout<<"查无此人!"<<endl;
}
system ("pause");//按任意键继续
    system ("cls");//清屏
}
 
//5.修改指定联系人信息
void  modifyPerson(Addressbooks *abs){
    cout<<"请输入您要修改的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist (abs,name);
    if(ret!=-1){//找到了指定的联系人
        //姓名
        string name;
        cout<<"请输入修改后的姓名: "<<endl;
        cin>>name;
        abs->personArray [ret].m_Name =name;
        //性别
        int sex=0; 
            cout<<"请输入性别:"<<endl;
        cout<<"1---男"<<endl<<"2---女"<<endl;
        while(1){
            cin>>sex;
        if(sex==1||sex==2){
            abs->personArray [ret].m_Sex =sex;
            break;
        }
        cout<<"输入有误,请重新输入"<<endl;
        }
        //年龄
        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;
    }
    else{//未找到指定的联系人
        cout<<"查无此人!"<<endl;
    }
    system("pause");
        system("cls");//按任意键后清屏
}
 
//6.清空联系人 //实现思路:只要将记录的联系人数重置为0,就可以实现逻辑情空
void cleanPerson(Addressbooks *abs){
    abs->m_Size =0;
    cout<<"通讯录已清空"<<endl;
    system("pause");
    system("cls");
}
//主函数
int main(){
    char qingkong;
    system ("color F1");
    //创建通讯录结构体变量
    Addressbooks abs;
    //初始化通讯录当中当前人员个数
 
    //调用菜单
    abs.m_Size=0;
    int select=0;//创建用户选择输入的变量
    while(1){
        showMenu();
        cin>>select;
 
    switch(select)
    {
case 1://添加联系人
    addPerson(& abs);
    break;//添加联系人//功能:设置上限1000人 
    //步骤:设置联系人结构体和通讯录结构体 main函数中创建通讯录 封装添加联系人函数 测试添加联系人功能
case 2:
    showPerson (& abs);//地址传递,可以改变实参的值
    break;//显示联系人
case 3://case语句如果很长的话最好用括号括起来形成一个代码段
    /*{
    cout<<"请输入删除联系人的姓名:"<<endl;
    string name;
    cin>>name;
    if(isExist ==-1)cout<<"查无此人"<<endl;
    else cout<<"找到此人"<<endl;}*/ //检测练习人是否存在
    deletePerson(&abs);
    break;//删除联系人 1.判断联系人是否存在 2.删除联系人函数
    
case 4: 
    findPerson (&abs);
        break;//查找联系人
case 5:
    modifyPerson (&abs);
    break;//修改联系人 按照姓名重新修改指定联系人
case 6: 
    cout<<"你确定要清空通讯录吗?(Y or N)" <<endl; 
    cin>>qingkong;
    if(qingkong=='Y'||qingkong=='y'){
    cleanPerson (&abs);}
    else system("pause");//按任意键继续
    system ("cls");//清屏
    break;//清空联系人 
case 0: //退出通讯录
        cout<<"欢迎下次使用"<<endl;
        system ("pause");//暂停,等待用户输入
        return 0;
        break;
default: break;
    }}}