栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

通讯录管理系统 C++

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通讯录管理系统 C++

系统需求:

通讯录是一个可以记录亲人、好友信息的工具。

需要实现的功能如下:
•添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系方式、住址)最多记录1000人
•显示联系人:显示通讯录中所有联系人信息
•删除联系人:按照姓名进行删除指定联系人
•查找联系人:按照姓名查看指定联系人信息
•修改联系人:按照姓名重新修改指定联系人
•清空联系人:清空通讯录中所有信息
•退出通讯录:退出当前使用的通讯录

系统:MAC OS

#include 
using namespace std;

#define MAX 1000 //最大人数

struct Person
{
    string name;    //姓名
    string sex;     //性别
    int age;        //年龄
    string phone;   //电话号码
    string address; //住址
};

struct addressbook
{
    Person personarray[MAX]; //通讯录中保存的联系人数组
    int size;                //通讯录中人员个数
};

void showMenu();
void addPerson(addressbook *abs);
void showPerson(const addressbook *abs);
void deletePerson(addressbook *abs);
void findPerson(addressbook *abs);
void modifyPerson(addressbook *abs);
void cleanPerson(addressbook *abs);

int main()
{
    int select;
    addressbook abs;
    abs.size = 0;
    while (true)
    {
        showMenu(); //菜单调用
        cin >> select;
        switch (select)
        {
        case 0: //退出通讯录
            cout << "欢迎下次使用" << endl;
            return 0;
        case 1: //添加联系人
            addPerson(&abs);
            break;
        case 2: //显示联系人
            showPerson(&abs);
            break;
        case 3: //删除联系人
            deletePerson(&abs);
            break;
        case 4: //查找联系人
            findPerson(&abs);
            break;
        case 5: //修改联系人
            modifyPerson(&abs);
            break;
        case 6: //清空联系人
            cleanPerson(&abs);
            break;
        default:
            cout << "输入错误,请重新输入" << endl;
        }
        cout << "请按任意键并回车继续" << endl;
        cin >> select;
        system("clear");
    }
    return 0;
}

void showMenu()
{
    cout << "1、添加联系人" << endl
         << "2、显示联系人" << endl
         << "3、删除联系人" << endl
         << "4、查找联系人" << endl
         << "5、修改联系人" << endl
         << "6、清空联系人" << endl
         << "0、退出通讯录" << endl;
}

void addPerson(addressbook *abs)
{
    if (abs->size == MAX) //判断通讯录人数是否已满
    {
        cout << "通讯录人数已满" << endl;
    }
    else
    {

        cout << "请依次输入姓名,性别,年龄,联系方式,住址" << endl;
        cin >> abs->personarray[abs->size].name 
            >> abs->personarray[abs->size].sex 
            >> abs->personarray[abs->size].age 
            >> abs->personarray[abs->size].phone 
            >> abs->personarray[abs->size].address;
        abs->size++;
        cout << "联系人添加成功" << endl;
    }
}

void showPerson(const addressbook *abs)
{
    if (abs->size)
    {
        for (int i = 0; i < abs->size; i++)
        {
            cout << "姓名:" << abs->personarray[i].name 
                 << "t性别:" << abs->personarray[i].sex 
                 << "t年龄:" << abs->personarray[i].age 
                 << "t电话号码:" << abs->personarray[i].phone 
                 << "t住址:" << abs->personarray[i].address 
                 << endl;
        }
    }
    else
    {
        cout << "通讯录为空" << endl;
    }
}

void deletePerson(addressbook *abs)
{
    int n = -1;
    string name;
    cout << "请输入要删除联系人的姓名" << endl;
    cin >> name;
    for (int i = 0; i < abs->size; i++) //查找删除的联系人
    {
        if (abs->personarray[i].name == name)
        {
            n = i;
            break;
        }
    }
    if (n != -1)
    {
        abs->personarray[n] = abs->personarray[abs->size - 1]; //替换将删除的联系人
        abs->size--;//通讯录人数-1
        cout << "删除成功" << endl;
    }
    else
    {
        cout << "查无此人" << endl;
    }
}

void findPerson(addressbook *abs)
{
    string name;
    cout << "请输入您要查找联系人的姓名" << endl;
    cin >> name;
    for (int i = 0; i < abs->size; i++)//查找输入的联系人
    {
        if (name == abs->personarray[i].name)
        {
            cout << "姓名:" << abs->personarray[i].name 
                << "t性别:" << abs->personarray[i].sex 
                << "t年龄:" << abs->personarray[i].age 
                << "t电话号码:" << abs->personarray[i].phone 
                << "t住址:" << abs->personarray[i].address 
                << endl;
            return;
        }
    }
    cout << "查无此人" << endl;
}

void modifyPerson(addressbook *abs)
{
    string name;
    cout << "请输入您要修改联系人的姓名" << endl;
    cin >> name;
    for (int i = 0; i < abs->size; i++)//查找输入的联系人
    {
        if (name == abs->personarray[i].name)
        {
            cout << "请依次输入修改后的姓名,性别,年龄,联系方式,住址" << endl;
            cin >> abs->personarray[i].name 
                >> abs->personarray[i].sex 
                >> abs->personarray[i].age 
                >> abs->personarray[i].phone 
                >> abs->personarray[i].address;
            cout << "修改成功" << endl;
            return;
        }
    }
    cout << "查无此人" << endl;
}

void cleanPerson(addressbook *abs)
{
    abs->size = 0;
    cout << "通讯录已清空" << endl;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/875016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号