「这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战」
丐版通讯录
什么是丐版,就是能达到基本温饱,而微星的丐版是性价比最高的丐版,当然我是高配哈哈哈,这个通讯录就是微星丐版,一些基本用户功能是有的,甚至还多了功能,排序,用户级别的控制内存,当然有些用户友好功能没写(例如输错三次强制退出啊什么的),这些得高配再写,不然就不叫丐版了,我相信大多数人用了没有说不好的,那些高配的不要来装了(文件处理的哈哈哈),高配我们家也有,不过还没到发售时间。不吹了,吃饭了
通讯录他能干什么呢
1.存放1000个好友信息
那么一个人的好友信息包含什么东西呢
包含姓名,电话,性别,住址,年龄
2.还可以增加好友信息
3.删除指定名字的好友信息
4.查找好友信息
5.修改好友信息
6.打印好友信息
7.排序好友信息
静态版本
test.c
测试通讯录各个功能
main.c
首先就是主函数
| 1 | c复制代码int main() | 
image-20210923080715957  
菜单
| 1 | c复制代码void menu() | 
这里的菜单序号要想到枚举
contact.c
通讯录的实现
初始化通讯录函数InitContact
| 1 | c复制代码//初始化通讯录 | 
添加通讯录函数AddContact
| 1 | c复制代码//添加通讯录 | 
显示通讯录函数ShowContact
| 1 | c复制代码//不知道自己操作成没成功就show一下 | 
image-20210923080753902  
找人函数FindByName
| 1 | c复制代码//只给本文件内函数用 | 
删除指定联系人函数DelContact
| 1 | c复制代码//删除指定的联系人 | 
查找联系人函数SearchContact
| 1 | c复制代码//查找联系人 我就是查找不修改,所以要const | 
修改指定联系人函数ModifyContact
| 1 | c复制代码//修改指定联系人 | 
快排通讯录函数(年龄排序)QsortContact
| 1 | c复制代码//由于中文名在内存中存储方式的问题。所以我们选择年龄排序 | 
contact.h
通讯录的声明
创建通讯录的一些宏
| 1 | c复制代码#define MAX 1000 | 
选项(方便删改)
| 1 | c复制代码//选项,因为每次输入数字的话还要看看数字的意思,会很麻烦,所以枚举 | 
image-20210923080632563  
用户信息结构体
| 1 | c复制代码//创建用户信息类型包含姓名,电话,性别,住址,年龄 | 
通讯录结构体
| 1 | c复制代码//通讯录类型,里面是通讯录信息 | 
声明函数
| 1 | c复制代码//声明函数 | 
动态版本
比其他丐版的优势
contact.h
改一:通讯录结构体
| 1 | c复制代码//动态版本 | 
image-20210923082936339  
contact.c
改二:初始化通讯录函数InitContact
| 1 | c复制代码//动态版本 | 
image-20210923084747640  
改三:增加通讯录函数AddContact
| 1 | c复制代码//动态版本 | 
注意我们在扩容却没有释放,那我们什么时候释放呢,是不是只有程序结束也就是程序退出的时候释放,也就是Exit的时候
所以我们得写个销毁通讯录的函数
添加四:销毁通讯录函数DestroyContact
| 1 | c复制代码//销毁通讯录 | 
完整代码
test.c
| 1 | c复制代码#define _CRT_SECURE_NO_WARNINGS 1 | 
contact.c
| 1 | c复制代码#define _CRT_SECURE_NO_WARNINGS 1 | 
contact.h
| 1 | c复制代码#pragma once | 
跑图
image-20210923094800813  
image-20210923101309076  
image-20210923101705704  
本文转载自: 掘金