时间:2020-10-07来源:www.pcxitongcheng.com作者:电脑系统城
概述
系统中需要实现的功能如下:
步骤
新建结构体
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 1000struct 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");} |
运行截图

那么整体的项目到这里就算完成了。
到此这篇关于C++实现管理系统的示例代码的文章就介绍到这了
2024-07-16
如何使用 Go 依赖库管理器修复损坏的依赖项?2024-07-07
Java框架如何简化代码的调试过程2023-03-17
Python 使用tf-idf算法计算文档关键字权重并生成词云的方法有这么一段代码,可以先看一下有没有什么问题,作用是输入一段json字符串,反序列化成map,然后将另一个inputMap的内容,merge进这个map 1 2 3 4 5 6 7 8 9 10 11 12 13 14...
2023-03-15
由于数据库的类型为Data 类型,所以插入数据库的时候我先把前端传入的string类型的时间转为Time 再插入。 Go 提供了两种插入的方式,即time.Parse 和 time.ParseInLocation 。两种方式,他们的差异比较大。...
2023-03-09