系列文章
任务50 通讯录信息管理系统
文章目录
- 系列文章
- 一、实践目的与要求
- 1、目的
- 2、要求
 
- 二、课题任务
- 三、总体设计
- 1.存储结构及数据类型定义
- 2.程序结构
- 3.所实现的功能函数
- 4、程序流程图
 
- 四、小组成员及分工
- 五、 测试
- 插入
- 按编号查找
- 按姓名查找
- 按城市查找
- 更新
- 排序
- 浏览
- 删除
- 统计
 
- 六、源代码获取
一、实践目的与要求
1、目的
通过此次实践环节主要达到以下目的:
 (1)进一步理解和运用结构化程序设计的思想和方法,学会根据具体问题选择合理的计算机存储结构实现数据的存储,构造较有效率的算法;
 (2)学会算法描述的方法,并编制具有结构清晰、合理和易读性的小型实用程序;
 (3)并会设计测试方案,完成程序的测试,能撰写出该程序的技术报告,为文档整理工作打下一个初步的基础;
 (4)培养小组成员间互相学习,取长补短,协同工作的能力。
2、要求
(1)模块化程序设计,锯齿型书写格式,代码要有足够的注释;
 (2)根据课题中规定的要求实现既定目标;
 (3)撰写格式排版规范、结构完整的技术文档。
二、课题任务
(题目、内容及主要功能描述)
通讯录信息管理系统
 通讯录信息包括:编号、通讯人姓名、联系方式、工作地点、城市、备注等。系统能够完成通讯录信息的查询、更新、插入、删除、排序等功能。
 (1) 排序:按编号对所有通讯录的信息进行排序。
 (2) 查询:分别按编号、通讯人姓名、城市条件查找通讯录信息。
 (3) 更新:按编号对某个通讯录信息的某项信息进行修改。
 (4) 插入:加入新通讯录的信息。
 (5) 删除:按编号删除已注销的通讯录信息。
 (6) 浏览:输出所有通讯录信息。
 (7) 统计:统计某城市某工作地点的通讯人的数量并输出。
三、总体设计
1.存储结构及数据类型定义
(采用了什么存储结构、被处理数据定义的数据类型,数据类型定义中要有注释说明)
#define MAX_LENGTH 100
#define MAX_CONTACTS 100 //最大通讯录数
#define NAME_LENGTH 20 //姓名最大长度
#define PHONE_LENGTH 20 //手机号最大长度
#define CITY_LENGTH 20 //城市最大长度
#define WORKPLACE_LENGTH 30 //工作地点最大长度
#define REMARKS_LENGTH 50 //备注最大长度
#define INPUT_LENGTH MAX_LENGTH + 1
struct Contact {
    int id; //编号
    char name[NAME_LENGTH];//通讯人姓名
    char phone[PHONE_LENGTH];//联系方式
    char city[CITY_LENGTH];//工作地点
    char workplace[WORKPLACE_LENGTH];//城市
    char remarks[REMARKS_LENGTH];//备注
};
struct Contact contacts[MAX_CONTACTS]; //通讯录数组
int num_contacts = 0; //当前通讯录数
2.程序结构
(程序整体的模块结构图)
 
3.所实现的功能函数
(每个功能对应的函数名、函数形参及返回值说明)
void sortContacts()//排序函数,按编号升序排列 函数名:sortContacts 函数形参:空 函数返回值: void 
void searchContacts()//查找函数,按编号、姓名、城市查找通讯录信息 函数名:searchContacts 函数形参:空 函数返回值: void 
void updateContacts()//更新函数,按编号更新通讯录信息 函数名:updateContacts 函数形参:空 函数返回值: void 
void insertContacts() //插入函数,加入新通讯录的信息 函数名:insertContacts函数形参:空 函数返回值: void 
void deleteContacts()//删除函数,按编号删除已注销的通讯录信息 函数名:deleteContacts函数形参:空 函数返回值: void 
void viewContacts() //浏览函数,输出所有通讯录信息 函数名:viewContacts函数形参:空 函数返回值: void 
void statisticsContacts() //统计函数,统计某城市某工作地点的通讯人的数量并输出 函数名:statisticsContacts函数形参:空 函数返回值: void 
4、程序流程图

四、小组成员及分工
(组长、组员及每人承担的具体模块任务或其他)
 组长:
 主函数编写以及排序函数,按编号升序排列、查找函数,按编号、姓名、城市查找通讯录信息以及更新函数,按编号更新通讯录信息模块设计。
 组员1:
 完成插入函数,加入新通讯录的信息以及删除函数,按编号删除已注销的通讯录信息编写
 组员2:
 完成//浏览函数,输出所有通讯录信息以及统计函数,统计某城市某工作地点的通讯人的数量并输出模块实现
五、 测试
(整合各功能模块后的测试结果截图及说明)
插入

 
按编号查找

按姓名查找

按城市查找

更新

 
排序

浏览

删除

统计

六、源代码获取
本次的分享就到这里啦,创作不易,感谢点赞收藏👍
 感兴趣的小伙伴可以在评论区留言或者私信我哦💕
提示:代码获取链接: 下载源码



















