一想到“管理系统”,咱们脑海里通常浮现四个字,增查删改。这也是必不可少的局部。
我先把这个零碎我要实现的局部列举进去(当然,我的思路有很多有余,恳请大佬斧正,批评,不胜感激)

    cout << "***********1.增加联系人**********" << endl;    cout << "***********2.显示联系人**********" << endl;    cout << "***********3.删除联系人**********" << endl;    cout << "***********4.查找联系人**********" << endl;    cout << "***********5.批改联系人**********" << endl;    cout << "***********6.清空联系人*********" << endl;    cout << "***********0.退出零碎***********" << endl;

(备注:退出也是其中一个性能哦)

首先,构建构造体变量

#define MAX 1000struct person{    string name;    int sex{ };    int age{ };    string phonenumber;    string address;};struct addressbook{    struct person personArr[MAX];    int person_size{ };

增加联系人

void addPerson(addressbook* aaa) //增加联系人模块{    if (aaa->person_size < MAX)    {            string name;            cout << "请输出姓名:" << endl;            cin >> name;            aaa->personArr[aaa->person_size].name = name;            int sex;            cout << "请输出性别对应序号:(1--男    2--女)" << endl;            while (true)            {                cin >> sex;                if ((sex == 1) || (sex == 2))                {                    aaa->personArr[aaa->person_size].sex = sex;                    break;                }                else                {                    cout << "您输出的有误,请查看后从新输出!" << endl;                }            }            int age = 0;            cout << "请输出年龄:" << endl;            cin >> age;            aaa->personArr[aaa->person_size].age = age;            string phonenumber;            cout << "请输出电话:" << endl;            cin >> phonenumber;            aaa->personArr[aaa->person_size].phonenumber = phonenumber;            string address;            cout << "请输出地址:" << endl;            cin >> address;            aaa->personArr[aaa->person_size].address = address;            aaa->person_size++;            cout << "增加联系人胜利!" << endl;    }    else    {        cout << "联系人已满,请删除局部联系人再增加!" << endl;        }    system("pause");    system("cls");}

显示联系人

void showperson(addressbook person){    if (person.person_size == 0)    {        cout << "联系人列表为空" << endl;    }    for (int i = 0; i < person.person_size; i++)    {        cout << i + 1 << "." << "姓名:" << person, personArr[i].name << " "            << "性别:" << (person.personArr[i].sex == 1 ? "男":"女") << " "            << "年龄:" << person.personArr[i].age << " "            << "电话:" << person.personArr[i].phonenumber << " "            << "住址:" << person.pearsonArr[i].address << " " << endl;    }    system("pause");    system("cls");}

删除联系人

void deleteperson(addressbook * person)

{    string name;    cout << "请输入您要删除的联系人姓名" << endl;    cin >> name;    int exist = isExist(person, name);    if (exist != -1)    {        for (int i = exist; i < person->person_size; i++)        {            {                person->personArr[i] = person->personArr[i + 1];            }            (person->person_size)--;            cout << "删除胜利!" << endl;        }    else    {        cout << "没有这个人!" << endl;    }    system("pause");    system("cls");    }

查找联系人

void showperson(addressbook person){    if (person.person_size == 0)    {        cout << "联系人列表为空" << endl;    }    for (int i = 0; i < person.person_size; i++)    {        cout << i + 1 << "." << "姓名:" << person, personArr[i].name << " "            << "性别:" << (person.personArr[i].sex == 1 ? "男":"女") << " "            << "年龄:" << person.personArr[i].age << " "            << "电话:" << person.personArr[i].phonenumber << " "            << "住址:" << person.pearsonArr[i].address << " " << endl;    }    system("pause");    system("cls");

批改联系人

void modifyperson(addressbook * person)        {            string name;            cout << "请输出要批改的联系人姓名:" << endl;            cin >> name;            int exist = isExist(person, name);            if (exist != -1)            {                string modifyName;                cout << "请输出批改好的名字:";                cin >> modifyName;                if (modifysex == 1 || modifysex == 2)                {                    person->personArr[exist].name = modifyName;                    while (true)                    {                        int modifysex;                        cout << "请输出批改后的性别(1.男 2.女):";                        cin >> modifysex;                        if (modifysex == 1 || modifysex == 2)                        {                            person->personArr[exist].sex = modifysex;                            break;                        }                        else                        {                            cout << "您该当输出1或者2,请从新输出" << endl;                        }                        int modifyAge;                        cout << "请输出批改后的年龄:";                        cin >> modifyAge;                        person->personArr[exist].age = modifyAge;                        string modifyPhone;                        cout << "请输出批改后的电话:";                        cin >> modifyPhone;                        person->personArr[exist].phonenumber = modifyPhone;                        string modifyAddress;                        cout << "请输出批改后的住址:";                        cin >> modifyAddress;                        person->personArr[exist].address = modifyAddress;                        cout << "批改胜利" << endl;                    }                else                {                    cout << "没有查到这个名字的人,故无奈批改" << endl;                }                system("pause");                system("cls");                }

清空联系人

void emptyperson(addressbook * person)                {                    string ensure;                    cout << "您确定清空所有联系人吗,此操作不可逆,请审慎,如需清空,请输出:我批准" << endl;                    cin >> ensure;                    if (ensure == "我批准")                    {                        person->person_size = 0;                        cout << "清空联系人胜利" << endl;                    }                    else                    {                        cout << "撤销了清空联系人的操作" << endl;                    }                    system("pause");                    system("cls");                }

退出零碎

int isExist(addressbook* person, string name){    for (int i = 0; i < person->person_size; i++)    {        if (person->personArr[i].name == name)        {            return i;        }        return -1;    }

残缺代码为:

#include <iostream>#include<string.h>#include<windows.h>#include <stdlib.h>using namespace std;#define MAX 1000struct person{    string name;    int sex{ };    int age{ };    string phonenumber;    string address;};struct addressbook{    struct person personArr[MAX];    int person_size{ };};void showmenu(){    cout << "******************************" << endl;    cout << "***********1.增加联系人**********" << endl;    cout << "***********2.显示联系人**********" << endl;    cout << "***********3.删除联系人**********" << endl;    cout << "***********4.查找联系人**********" << endl;    cout << "***********5.批改联系人**********" << endl;    cout << "***********6.清空联系人*********" << endl;    cout << "***********0.退出零碎***********" << endl;}void addperson(addressbook* aaa){    if (aaa->person_size < MAX)    {        string name;        cout << "请输出姓名:" << endl;        cin >> name;        aaa->personArr[aaa->person_size].name = name;        int sex;        cout << "请输出对应性别 1--男  2--女" << endl;        while (true)        {            cin >> sex;            if ((sex == 1)) || (sex == 2))            {            aaa->personArr[aaa->person_size].sex = sex;            break;            }            else            {                cout << "您输出的有误,请从新查看后输出" << endl;            }        }    }}int age = 0;cout << "请输出年龄" << endl;cin >> age;aaa->personArr[aaa->person_size].age = age;string phonenumeber;cout << "请输出电话:" << endl;cin >> phonenumber;aaa->personArr[aaa->person_size].phonenumeber = phonenumeber;string address;cout << "请输出地址:" << endl;cin >> address;aaa->personArr[aaa->person_size].phonenumber = phonenumeber;string address;cout << "请输出地址:" << endl;cin >> address;aaa->personArr[aaa->person_size].address = address;aaa->person_size++;cout << "增加联系人胜利!" << endl;    }    else    {    cout << "联系人已满,请删除局部联系人再增加!" << endl;    }    system("pause");    system("cls");}void showperson(addressbook person){    if (person.person_size == 0)    {        cout << "联系人列表为空" << endl;    }    for (int i = 0; i < person.person_size; i++)    {        cout << i + 1 << "." << "姓名:" << person, personArr[i].name << " "            << "性别:" << (person.personArr[i].sex == 1 ? "男":"女") << " "            << "年龄:" << person.personArr[i].age << " "            << "电话:" << person.personArr[i].phonenumber << " "            << "住址:" << person.pearsonArr[i].address << " " << endl;    }    system("pause");    system("cls");}int isExist(addressbook* person, string name){    for (int i = 0; i < person->person_size; i++)    {        if (person->personArr[i].name == name)        {            return i;        }        return -1;    }    void deleteperson(addressbook * person)    {        string name;        cout << "请输入您要删除的联系人姓名" << endl;        cin >> name;        int exist = isExist(person, name);        if (exist != -1)        {            for (int i = exist; i < person->person_size; i++)            {                {                    person->personArr[i] = person->personArr[i + 1];                }                (person->person_size)--;                cout << "删除胜利!" << endl;            }        else        {            cout << "没有这个人!" << endl;        }        system("pause");        system("cls");        }        void modifyperson(addressbook * person)        {            string name;            cout << "请输出要批改的联系人姓名:" << endl;            cin >> name;            int exist = isExist(person, name);            if (exist != -1)            {                string modifyName;                cout << "请输出批改好的名字:";                cin >> modifyName;                if (modifysex == 1 || modifysex == 2)                {                    person->personArr[exist].name = modifyName;                    while (true)                    {                        int modifysex;                        cout << "请输出批改后的性别(1.男 2.女):";                        cin >> modifysex;                        if (modifysex == 1 || modifysex == 2)                        {                            person->personArr[exist].sex = modifysex;                            break;                        }                        else                        {                            cout << "您该当输出1或者2,请从新输出" << endl;                        }                        int modifyAge;                        cout << "请输出批改后的年龄:";                        cin >> modifyAge;                        person->personArr[exist].age = modifyAge;                        string modifyPhone;                        cout << "请输出批改后的电话:";                        cin >> modifyPhone;                        person->personArr[exist].phonenumber = modifyPhone;                        string modifyAddress;                        cout << "请输出批改后的住址:";                        cin >> modifyAddress;                        person->personArr[exist].address = modifyAddress;                        cout << "批改胜利" << endl;                    }                else                {                    cout << "没有查到这个名字的人,故无奈批改" << endl;                }                system("pause");                system("cls");                }                void emptyperson(addressbook * person)                {                    string ensure;                    cout << "您确定清空所有联系人吗,此操作不可逆,请审慎,如需清空,请输出:我批准" << endl;                    cin >> ensure;                    if (ensure == "我批准")                    {                        person->person_size = 0;                        cout << "清空联系人胜利" << endl;                    }                    else                    {                        cout << "撤销了清空联系人的操作" << endl;                    }                    system("pause");                    system("cls");                }                int main()                {                    int userselect = 0;                    struct addressbook aaa;                    aaa.peson_size = 0;                    cout << "请在下方输入您想抉择的性能(输出后面的数字即可): " << endl;                    cin >> userselect;                    switch (userselect)                    {                    case 1:                        addPerson(&aaa);                        break;                    case 2:                        showPerson(aaa);                        break;                    case 3:                        deletePerson(&aaa);                        break;                    case 4:                        findPerson(&aaa);                        break;                    case 5:                        modifyPerson(&aaa);                        break;                    case 6:                        emptyPerson(&aaa);                        break;                    case 0:                        cout << "退出零碎胜利,欢迎您下次应用!" << endl;                        system("pause");                        return 0;                    default:                        cout << "输出有误,请从新输出!" << endl;                        break;                    }                }            }