美文网首页
C++通讯录程序

C++通讯录程序

作者: 时然然呢 | 来源:发表于2020-12-02 21:47 被阅读0次

#include<iostream>

#include<math.h>

#include<string>

#include<cstdlib>

using namespace std;

#define MAX 1000

struct Linkman

{

string name;

string gender;

int age;

string phoneNumber;

string address;

};

void displayMenu()

{

cout << "**************************************************" << endl;

cout << "****************  1.添加联系人  ****************" << endl;

cout << "****************  2.显示联系人  ****************" << endl;

cout << "****************  3.删除联系人  ****************" << endl;

cout << "****************  4.查找联系人  ****************" << endl;

cout << "****************  5.修改联系人  ****************" << endl;

cout << "****************  6.清空联系人  ****************" << endl;

cout << "****************  0.退出通讯录  ****************" << endl;

return;

}

void addLinkman(Linkman* linkman,int* headcountp)

{

int headcount = *headcountp;

if (headcount < MAX)

{

cout << "请输入联系人的姓名:";

cin >> linkman[headcount].name;

cout << "请输入联系人的性别:";

cin >> linkman[headcount].gender;

cout << "请输入联系人的年龄:";

cin >> linkman[headcount].age;

cout << "请输入联系人的联系电话:";

cin >> linkman[headcount].phoneNumber;

cout << "请输入联系人的家庭住址:";

cin >> linkman[headcount].address;

cout << "添加成功!" << endl;

*headcountp = headcount + 1;

}

else

{

cout << "添加失败!通讯录最大容纳" << MAX << "人!";

}

return;

}

void showLinkman(Linkman* linkman, int headcount)

{

if (headcount != 0)

{

for (int i = 0; i < headcount; i++)

{

cout << "姓名:"    << (linkman + i)->name        << " ";

cout << "性别:"    << (linkman + i)->gender      << " ";

cout << "年龄:"    << (linkman + i)->age        << " ";

cout << "联系电话:" << (linkman + i)->phoneNumber << " ";

cout << "家庭住址:" << (linkman + i)->address    << " ";

cout << endl;

}

}

else

{

cout << "该通讯录为空!" << endl;

}

}

void searchLinkman(Linkman* linkman, int headcount)

{

cout << "请输入您要查找人的姓名:";

string name;

cin >> name;

int flag = 0;

for (int i = 0; i < headcount; i++)

{

if (name == (linkman + i)->name)

{

cout << "姓名:"    << (linkman + i)->name        << " ";

cout << "性别:"    << (linkman + i)->gender      << " ";

cout << "年龄:"    << (linkman + i)->age        << " ";

cout << "联系电话:" << (linkman + i)->phoneNumber << " ";

cout << "家庭住址:" << (linkman + i)->address    << " ";

cout << endl;

flag++;

}

}

if (flag == 0)

{

cout << "查无此人!" << endl;

}

return;

}

void deleteLinkman(Linkman* linkman, int* headcountp)

{

int flag = 0;

cout << "请输入您所要删除的联系人:";

string name;

cin >> name;

for (int i = 0; i < *headcountp; i++)

{

if (name == (linkman + i)->name)

{

for (int j = i; j < *headcountp - 1; j++)

{

*(linkman + j) = *(linkman + j + 1);

}

cout << "成功删除第" << i+1 << "位联系人!" << endl;

*headcountp -= 1;

flag++;

}

}

if (flag == 0)

{

cout << "查无此人!" << endl;

}

return;

}

void amendLinkman(Linkman* linkman, int headcount)

{

int flag = 0;

cout << "请输入您所要修改的联系人:";

string name;

cin >> name;

for (int i = 0; i < headcount; i++)

{

if (name == (linkman + i)->name)

{

cout << "请输入联系人的姓名:";

cin >> (linkman + i)->name;

cout << "请输入联系人的性别:";

cin >> (linkman + i)->gender;

cout << "请输入联系人的年龄:";

cin >> (linkman + i)->age;

cout << "请输入联系人的联系电话:";

cin >> (linkman + i)->phoneNumber;

cout << "请输入联系人的家庭住址:";

cin >> (linkman + i)->address;

cout << "修改成功!" << endl;

flag++;

}

}

if (flag == 0)

{

cout << "查无此人!" << endl;

}

return;

}

void cleanLinkman(int* headcountp)

{

*headcountp = 0;

cout << "清空成功!" << endl;

return;

}

int main()

{

Linkman linkman[MAX]; //最多记录1000人

int headcount = 0; //记录已经存在的联系人数目

int choose;

bool control;

control = true;

while (control)

{

system("cls");

displayMenu();

cin >> choose;

switch (choose)

{

case 0:

cout << "欢迎下次使用" << endl;

control = false;

break;

case 1:

addLinkman(linkman, &headcount);

break;

case 2:

showLinkman(linkman, headcount);

break;

case 3:

deleteLinkman(linkman, &headcount);

break;

case 4:

searchLinkman(linkman, headcount);

break;

case 5:

amendLinkman(linkman, headcount);

break;

case 6:

cleanLinkman(&headcount);

break;

default :

cout << "无此选项!" << endl;

break;

}

system ("pause");

}

return 0;

}

相关文章

网友评论

      本文标题:C++通讯录程序

      本文链接:https://www.haomeiwen.com/subject/zfxpwktx.html