用结构体写一个简单的通讯录

一个简单的通讯录

通讯录应该具备简单的一些功能
1 增添联系人
2 删除联系人
3 查找联系人
4 修改联系人
5 按名字给联系人排序
6 查看通讯录
除此之外,应该在实现上还应该具备一些其他的功能函数
比如 初始化通讯录在这里插入图片描述
这些都是功能函数,而整个函数入口应该为main
在这里插入图片描述
为了更加清晰,更加鲜明的体现功能区域,将所有的宏定义,和一些声明我放在一个头文件中。
在这里插入图片描述

要创建一个通讯录,我们要抽象化一个人,将这个人的一些信息放在一个结构体中
在这里插入图片描述
而一个通讯录中不可能只有一个人,所以需要一个结构体数组,来装你要存入的数据
在这里插入图片描述
并创建一个整形变量sz来记录当前通讯录当前存入了多少个人

而在整个main()中只有一个函数test(),我们将整个函数功能的选择放在这里,虽然switch语句并不好,但在这里,依然用switch进行选择
在这里插入图片描述

在这里插入图片描述
本来选择用switch时,应该用一个整形来进行选择,但在这里,我用了一个枚举类型,来更直观的进行选择
在这里插入图片描述
枚举类型,从上至下,对应的数字应该为 0,1,2,3,4,5,6

接下来就是每个功能函数的实现

初始化通讯录

在这里插入图片描述
首先传结构体指针过来,需要判断有效性,用assert断言判断,初始化通讯录
人数为0,并给结构体数组中每个元素赋值0,此处用memset内存建立函数实现。

增添联系人

在这里插入图片描述

查看通讯录

将已经录入的信息打印一遍
在这里插入图片描述

内部查找函数

因为进行下来的操作时都有一个操作就是查找所以,先写一个内部的查找函数
在这里插入图片描述

删除联系人

在这里插入图片描述
此处就要用到上述写的内部查找函数

查找联系人

在这里插入图片描述
找到之后打印一遍,给用户一个友好的提示

修改联系人

在这里插入图片描述

按名字给联系人排序

此处用的是冒泡排序
在这里插入图片描述
到此,所有功能都已实现,但此通讯录是一个静态通讯录,不能根据具体的实际情况进行扩容。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值