人脉宝
人脉宝
ConnectSystem
编写细节
编写语言:c语言
数据结构:利用链表来存储数据,利用KMP算法实现模糊查找,利用冒泡排序实现通话次数排序
更新历史
- 这是第一次实现的功能
以下是几处设计时所考虑的细节:- 判断姓名电话号码输入是否有效
- 为查找联系人,修改联系人,排序联系人设置二级页面
- 链表为空时实现显示联系人,删除联系人,查找联系人,排序联系人,修改联系人中任一功能系统直接显示没有联系人
- 这是第二次更新后实现的功能
以下是在展示第二次更新多实现的功能以外所作的几处修改或细节:- 去除了输入名字带有数字,系统判断名字无效要求重新输入姓名这一不合适的函数
- Contact结构体中增加了整形变量call_count统计通话次数,并在添加联系人时初始化为0
- 先向文件中写入联系人再从文件里读取联系人才能读取,并且从文件读取联系人时初始化通话次数避免通话次数记录出错
- 去除了Color.h这一头文件,将内容整合到了Showmenu.h里面
- 以下是第三次更新所作的几处修改或细节:
- 在Showmenu.h中增加了对非数字字符判断,确保选择功能时输入无效字符程序不会报错
- 去除了原先查找联系人这种未使用KMP算法从而无法实现模糊查找的功能
- 将联系人功能里面判断所输入用户是否存在改为调用KMP算法的模糊查找增加效率,具体应用在Deletepeople和Changepeople函数中
- 修改了修改联系人这一函数的逻辑,不再产生二级页面让用户选择修改姓名还是修改电话,直接在一个函数里通过是否从键盘输入yes来决定是否实现操作
- 修改了联系人排序这一函数,可以选择按名字(升序/降序)/号码(升序/降序)排序
- 修改了从文件读写之后之前通话记录清零的Bug,从文件读取时更新通话次数
源代码
下载代码请复制以下命令到终端执行 :git clone git@gitee.com:wzhisyourdad/connect-system.git
注意事项
- 点开main.cpp即可运行
- 确保所输入的电话号码是11位数字,以1开头,第二位为[3-9]或者以”010-“开头,此时输入的号码才会有效
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.