概述
系统中需要实现的功能如下:
- 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人
- 显示联系人:显示通讯录中所有的联系人信息
- 删除联系人:按照姓名进行删除指定联系人
- 查找联系人:按照姓名查看指定联系人信息
- 修改联系人:按照姓名重新修改指定联系人
- 清空联系人:清空通讯录中所有信息
- 退出通讯录:退出当前使用的通讯录
步骤
新建结构体
contact.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include<iostream> #include<string> using namespace std; struct Contact { string name; //姓名 string sex; //性别 int age; //年龄 int phoneNumber; //联系电话 string address; //家庭地址 }; void printContactInfo( const Contact *p); |
定义
contact.cpp
1
2
3
4
5
6
7
8
9
10
|
#include "Contact.h" void printContactInfo( const Contact * p) { cout << "姓名:" << p->name << "---性别:" << p->sex << "---年龄:" << p->age << "---联系电话:" << p->phoneNumber << "---家庭地址:" << p->address << endl; } |
ContactManager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include<iostream> #include "Contact.h" using namespace std; #define MAX 1000 struct ContactManager { //联系人数组 Contact contactArr[MAX]; //当前联系人数量 int size; }; void showMenu(); void exitSys(); void addContact(ContactManager *manager); void showContactList(ContactManager *manager); void delContactByName(ContactManager *manager); void findContactByName(ContactManager *manager); void updateContactByName(ContactManager *manager); void clearManager(ContactManager *manager); |
实现管理者
实现菜单功能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include "ContactManager.h" 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; cout << "*********************************************" << endl; cout << "-----> 请选择操作项并输入操作项编号:" << endl; } |
实现退出功能
1
2
3
4
5
|
void exitSys() { cout << "欢迎下次使用,再见" << endl; system ( "pause" ); } |
新增联系人
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
void addContact(ContactManager *manager) { cout << "请输入联系人姓名:" ; cin >> manager->contactArr[manager->size].name; cout << "请输入联系人性别:" ; cin >> manager->contactArr[manager->size].sex; cout << "请输入联系人年龄:" ; cin >> manager->contactArr[manager->size].age; cout << "请输入联系人号码:" ; cin >> manager->contactArr[manager->size].phoneNumber; cout << "请输入联系人地址:" ; cin >> manager->contactArr[manager->size].address; cout << "添加联系人成功!!!" << endl; manager->size++; system ( "pause" ); system ( "cls" ); } |
展示联系人列表
1
2
3
4
5
6
7
8
9
|
void showContactList(ContactManager * manager) { for ( int i = 0; i < manager->size; i++) { printContactInfo(&manager->contactArr[i]); } system ( "pause" ); system ( "cls" ); } |
删除联系人
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
void delContactByName(ContactManager * manager) { cout << "请输入要删除联系人的姓名:" ; string name; cin >> name; int pos = isExist(manager, name); if (pos == -1) { cout << "联系人不存在!!" << endl; } else { cout << "联系人的位置在" << pos << endl; //数据前移 for ( int i = pos; i < manager->size; i++) { manager->contactArr[pos] = manager->contactArr[pos + 1]; } cout << "删除联系人成功!!" << endl; manager->size--; } system ( "pause" ); system ( "cls" ); } |
查找联系人
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
void findContactByName(ContactManager * manager) { cout << "请输入要查找联系人的姓名:" ; string name; cin >> name; int pos = isExist(manager, name); if (pos == -1) { cout << "联系人不存在!!" << endl; } else { printContactInfo(&manager->contactArr[pos]); } system ( "pause" ); system ( "cls" ); } |
更新联系人
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
void updateContactByName(ContactManager * manager) { cout << "请输入要修改联系人的姓名:" ; string name; cin >> name; int pos = isExist(manager, name); if (pos == -1) { cout << "联系人不存在!!" << endl; } else { cout << "请输入联系人性别:" ; cin >> manager->contactArr[pos].sex; cout << "请输入联系人年龄:" ; cin >> manager->contactArr[pos].age; cout << "请输入联系人号码:" ; cin >> manager->contactArr[pos].phoneNumber; cout << "请输入联系人地址:" ; cin >> manager->contactArr[pos].address; cout << "修改联系人成功!!!" << endl; } system ( "pause" ); system ( "cls" ); } |
清空通讯录
1
2
3
4
5
6
7
|
void clearManager(ContactManager * manager) { manager->size = 0; cout << "清空联系人成功!!!" << endl; system ( "pause" ); system ( "cls" ); } |
运行截图
原文链接: https://www.cnblogs.com/ypha/p/13776950.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/203641
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!