通讯里管理系统c++

这是一个使用C++编写的简单通讯录管理程序,包括添加、删除、查找和显示联系人等功能。用户可以进行交互操作,管理他们的联系人列表。程序中定义了Person和Address结构体,用以存储姓名、性别、电话等信息。
摘要由CSDN通过智能技术生成

#include <iostream>
using namespace std;
#include <string>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 1000
#include <string>
struct Person
{
    string name;
    int sex;
    int phone;
};
struct Address
{
    Person personArray[MAX];
    int m_size;
};
void show()
{
    cout<<"***** 1.添加联系人"<<endl;
    cout<<"***** 2.删除联系人"<<endl;
}
void addPerson(Address *abs)
{
    if(abs->m_size==MAX)
    {
        cout<<"通讯录已满"<<endl;
        return;
    }
    else
    {
        string name;
        cout<<"请输入姓名:"<<endl;
        cin>>name;
        abs->personArray[abs->m_size].name=name;
        abs->m_size++;
        cout<<"添加成功"<<endl;
    }
    system("pause");
    system("cls");
}
void printf(Address *abs)
{
    if(abs->m_size==0)
    {
        cout<<"当前记录为空"<<endl;
    }else
    {
        for(int i=0;i<abs->m_size;i++)
        {
            cout<<"姓名"<<abs->personArray[i].name<<endl;
        }
    }
    system("pause");
    system("cls");

}
int isExist(Address *abs,string name)
{
    for(int i=0;i<abs->m_size;i++)
    {
        if(abs->personArray[i].name==name)
        {
            return i;
        }
    }
    return -1;
}
void deletePerson(Address *abs)
{
    cout<<"请输入要删除的联系人"<<endl;
    string name;
    cin>>name;
    int ret =isExist(abs,name);
    if(ret!=-1)
    {
        for(int i=ret;i<abs->m_size;i++)
        {
            abs->personArray[i]=abs->personArray[i+1];
        }
        abs->m_size--;
    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    system("pause");
    system("cls");

}
void findPerson(Address*abs)
{
    cout<<"输入查找的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        cout<<"姓名 "<<abs->personArray[ret].name<<"\t";
    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    system("pause");
    system("cls");
}
void modify(Address *abs)
{
    cout<<"请输入你要修改的联系人的信息"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        //姓名
        string name;
        cout<<"请输入姓名"<<endl;
        cin>>name;
        abs->personArray[ret].name=name;
    }
    else
    {
        cout<<"没有找到此联系人"<<endl;
    }
}
void cleanPerson(Address*abs)
{
    
}
int main()
{
    int n;
    Address abs;
    abs.m_size=0;
    while(1)
    {
        cin>>n;
        switch(n)
        {
        case 1:
            addPerson(&abs);break;
        case 2:
             printf(&abs);break;
        case 3:
            
            deletePerson(&abs);break;
        case 4:
            findPerson(&abs);break;
        case 0:
            return 0;
        }
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木火火木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值