C++实现简朴的通讯录体系

嚴華  论坛元老 | 2024-10-25 16:48:08 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1049|帖子 1049|积分 3147

需求

利用C++写一个简朴的通讯录体系,具体需求如下:
体系中必要实现的功能如下:
添加接洽人:向通讯录中添加新人,信息包罗(姓名、性别、年事、接洽电话、家庭住址)最多记录100人
显示接洽人:显示通讯录中全部接洽人的信息
删除接洽人:按照姓名进行删除指定接洽人
查找接洽人:按照姓名查看指定接洽人信息
修改接洽人:按照姓名重新修改指定接洽人
清空接洽人:清空通讯录中全部信息
退出通讯录:退出当前利用的通讯录
体系展示



结构体的构建

结构体的构建
步伐中利用两个结构体,一个是接洽人的结构体,此结构体针对通讯录中的接洽人这个对象来进行构建
其包罗了序号、姓名、性别、年事、接洽电话、家庭住址这几个属性;第二个结构体是针对通讯录这个
对象来进行构建,其包罗了一个存放接洽人对象的数组和通讯录的规格这两个属性。
来看具体代码:
  1. struct Linkman  // 联系人结构体
  2. {
  3.    
  4.         int num;
  5.         string name;
  6.         string sexy;
  7.         int age;
  8.         string number;
  9.         string adress;
  10. };
  11. struct Addressbook  //通讯录结构体
  12. {
  13.    
  14.         struct Linkman personarr[MAX];  //MAX采用宏定义
  15.         int size;
  16. };
复制代码
主界面

主界面
主界面选择了在主函数中进行定义,其实很简朴,就是输出需求中的功能与其对应的操作序号供用户进行选择,
利用一个switch语句根据用户输入的操作序号调用相对应的功能函数。再用一个死循环控制,保证用户的持续操作。
在主函数中还要创建一个通讯录对象,并初始化其size的值为0.
来看具体代码:
  1. int main()
  2. {
  3.    
  4.         struct Addressbook abs;  //创建结构体对象
  5.         abs.size = 0;  //初始化size的值
  6.         // 做主界面
  7.         while (true)
  8.         {
  9.    
  10.                 cout << "**********" << endl;
  11.                 cout << "******欢迎进入系统******" << endl;
  12.                 cout << "******请选择您的操作******" << endl;
  13.                 cout << "******1、添加联系人******" << endl;
  14.                 cout << "******2、显示联系人******" << endl;
  15.                 cout << "******3、删除联系人******" << endl;
  16.                 cout << "******4、查找联系人******" << endl;
  17.                 cout << "******5、修改联系人******" << endl;
  18.                 cout << "******6、清空联系人******" << endl;
  19.                 cout << "******0、退出通讯录******" << endl;
  20.                 int op;
  21.                 cin >> op;
  22.                 switch (op)
  23.                 {
  24.    
  25.                 case 1:
  26.                         cout << "添加联系人" << endl;
  27.                         AddLinkman(&abs);
  28.                         break;
  29.                 case 2:
  30.                         cout << "显示联系人" << endl;
  31.                         showLinkman(&abs);
  32.                         break;
  33.                 case 3:
  34.                         cout << "删除联系人" << endl;
  35.                         deleteLinkman(&abs);
  36.                         break;
  37.                 case 4:
  38.                         cout << "查找联系人" << endl;
  39.                         findPerson(&abs);
  40.                         break;
  41.                 case 5:
  42.                         cout << "修改联系人" << endl;
  43.                         updataPerson(&abs);
  44.                         break;
  45.                 case 6:
  46.                         cout << "清空联系人" << endl;
  47.                         clearAddressbook(&abs);
  48.                         break;
  49.                 case 0:
  50.                         cout << "退出通讯录" << endl;
  51.                         return 0;
  52.                         break;
  53.                 default:
  54.                         cout << "操作错误!" << endl;
  55.                         break;
  56.                 }
  57.         }
  58.        
  59. }
复制代码
添加接洽人

添加接洽人
创建一个无返回值函数用于实现添加接洽人功能,其形参是结构体指针。函数中首先判断通讯录是否已经达到人员上限。利
用一个if语句进行判断,假如size的大小大于MAX的值,就表示已经达到了通讯录人员上限;假如没
有就执行后续的添加接洽人操作。就是往Addressbook中的那个结构体数组内里增加接洽人对象,增加的
那个结构体对象对应的数组下标就是此时size的值。
来看具体代码:
  1. void AddLinkman(Addressbook *p)
  2. {
  3.           
  4.         //判断通讯录是否已满
  5.         if (p->size == MAX)
  6.         {
  7.    
  8.                 cout << "通信录人员已满" << endl;
  9.         }
  10.         else
  11.         {
  12.    
  13.                 string name;
  14.                 cout << "请输入添加联系人的姓名" << endl;
  15.                 cin >> name;
  16.                 p->personarr[p->size].name = name;
  17.                 string sexy;
  18.                 cout << "请输入联系人的性别:" << endl;
  19.                 cin >> sexy;
  20.                 p->personarr[p->size].sexy = sexy;
  21.                 int age;
  22.                 cout << "请输入联系人的年龄" << endl;
  23.                 cin >> age;
  24.                 p->personarr[p->size].age = age;
  25.                 string number;
  26.                 cout << "请输入联系人的号码" << endl;
  27.                 cin >> number;
  28.                 p->personarr[p->size].number = number;
  29.                 string input_adress;
  30.                 cout << "请输入联系的家庭住址" << endl;
  31.                 cin >> input_adress;
  32.                 p->personarr[p->size].adress = input_adress;
  33.                 p->personarr[p->size].num = p->size + 1;
  34.                 p->
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

嚴華

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表