基于C++的通信录管理系统

代码:

#include <iostream>
#include <string>
using namespace std;

//定义人员信息结构体
struct person
{
  string name;
  int phone;
};

//定义人员信息存储容器
struct arr_person
{
    struct person arr[1000];   //定义一个存储人员信息结构体的数组
    int size;                  //定义一个变量记录加入通讯录人员的数量以及通讯录数组的下标
};


//目录函数
void directory()
{
    cout<<"***********Welcome to use contacts***"<<endl;
    cout<<"***********1.Add a contact***********"<<endl;
    cout<<"***********2.Display contacts********"<<endl;
    cout<<"***********3.Delete a contact********"<<endl;
    cout<<"***********4.Find contacts***********"<<endl;
    cout<<"***********5.Modify a contact********"<<endl;
    cout<<"***********6.Empty the contact*******"<<endl;
    cout<<"***********7.Quit Contacts***********"<<endl;
}


//添加人员函数
void add_person(arr_person *p)
{
    cout<<"Please enter your name:";
    cin>>p->arr[p->size].name;
    cout<<"enter name success!!!";

    cout<<"Please enter your phone:";
    cin>>p->arr[p->size].phone;
    cout<<"enter phone success!!!";
    p->size=p->size+1;
    cout<<"add person success"<<endl;
}

//显示联系人
void show_person(arr_person* p)
{
    for(int i=0;i<p->size;i++)
    {
        cout<<p->arr[i].name;
        cout<<p->arr[i].phone<<endl;
    }
}


//删除联系人
void delete_person(arr_person* p)
{
    string name;
    cout<<"Please enter delete's name:";
    cin>>name;
    for(int i=0;i<p->size;i++)
    {
       if(p->arr[i].name==name)
       {
           for(int j=i;j<p->size;j++)
           {
               p->arr[j]=p->arr[j+1];
           }
       }
    }
    p->size--;
    cout<<"delete success"<<endl;
}


//查找联系人
void serch_person(arr_person* p)
{
    string name;
    cout<<"Please enter search's name:";
    cin>>name;
    for(int i=0;i<p->size;i++)
    {
       if(p->arr[i].name==name)
       {
           cout<<"search success"<<endl;
           cout<<p->arr[i].name;
           cout<<p->arr[i].phone<<endl;
       }
    }
}

//修改联系人
void revise_person(arr_person* p)
{
    string name;
    cout<<"Please enter revise's name:";
    cin>>name;
    for(int i=0;i<p->size;i++)
    {
       if(p->arr[i].name==name)
       {
           cout<<"search success"<<endl;
           cout<<"Please enter your name:";
           cin>>p->arr[i].name;
           cout<<"Please enter your phone:";
           cin>>p->arr[i].phone;
       }
    }
}

//清空联系人
void empty_person(arr_person* p)
{
    for(int i=0;i<p->size;i++)
    {
       p->arr[i].name='0';
       p->arr[i].phone=0;
    }
      p->size=0;
      cout<<"empty success"<<endl;
}



int main()
{
    //初始化结构体
    arr_person *p=new arr_person;
    p->size=0;
    while(1)
    {
        //调用目录函数
        directory();
        int a=0;
        cin>>a;
        switch(a)
        {
        case 1:
            //添加联系人函数
            add_person(p);
            break;
        case 2:
            //显示联系人
            show_person(p);
            break;
        case 3:
            //删除联系人
            delete_person(p);
            break;
        case 4:
            //查找联系人
            serch_person(p);
            break;
        case 5:
            //修改联系人
            revise_person(p);
            break;
        case 6:
            //清空联系人
            empty_person(p);
            break;
        case 7:
            goto end;
        }



    }


end:


    return 0;
}

效果:

增加一个新的联系人:

显示通讯录所有联系人:

根据联系人名字删除指定联系人

根据名字查找指定联系人

根据联系人名字修改联系人信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值