【C语言】实现通讯录(详解)

本文详细介绍了如何使用C语言实现一个通讯录管理程序,包括添加、删除、查找、修改和排序联系人等功能。通过结构体定义个人信息,并用数组存储,但存在空间利用率低的问题,因为数组大小固定。文章提出了动态开辟空间作为改进方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、需要实现的功能

1.1 类型和结构体的定义

二、拆分代码

2.1 游戏菜单

2.1.1 函数调用

2.1.2 函数体的实现

2.1.2运行效果

2.2 初始化结构体

2.2.1 函数调用

2.2.2 函数体的实现

2.2.3 运行结果

2.3 添加联系人信息

2.3.1 函数调用

2.3.2 函数体的实现

2.3.3 运行结果

2.3 删除指定联系人信息

2.3.1 函数调用

2.3.2 函数体的实现

2.3.3 运行结果

2.4 查找指定联系人信息

2.4.1 函数调用

2.4.2 函数体的实现

2.4.3 运行结果

2.5 修改指定联系人信息

2.5.1 函数调用

2.5.2 函数体的实现

2.5.3 运行结果

2.6 显示所有联系人信息

2.6.1 函数调用

2.6.2 函数体的实现

2.6.3 运行结果 

2.7 以名字排序所有联系人

2.7.1 函数调用

2.7.2 函数体的实现

2.7.3 运行结果

2.8 清空所有联系人

2.8.1 函数调用

2.8.2 函数体的实现

2.8.3 运行结果

2.9 通讯录的逻辑(主函数)

三、 完整代码

3.1 contact.h(函数的声明)

3.2 contact.c(函数的实现)

3.3 test.c(测试通讯录的逻辑)

 END.


通讯录和三子棋,扫雷都是用三个模块来实现

test.c(测试通讯录的逻辑) contact.c(函数的实现) contact.h(函数的声明)

一、需要实现的功能

  • 可以添加1000个联系人信息
  • 删除指定联系人信息
  • 查找指定联系人信息
  • 修改指定联系人信息
  • 显示所有联系人信息
  • 以名字排序所有联系人
  • 清空所有联系人

1.1 类型和结构体的定义

个人信息包括:姓名,年龄,性别,电话,地址

C语言中没有能够表示个人信息的类型,需要定义结构体类型来实现

通讯录需要能够存放1000个人,可以用一个结构体数组来实现

还需要一个整型来记录存了几个人

我们可以把个人信息和记录数字的整型,组合成一个结构体,方便我们使用

定义数组大小并没有用数字直接定义,而是用宏定义实现

这样我们后期如果需要更改数组大小只需要修改一次

 

 contact,peoInfo,sz的关系

二、拆分代码

2.1 游戏菜单

2.1.1 函数调用

2.1.2 函数体的实现

 菜单就是用peintf语句实现

2.1.2运行效果

2.2 初始化结构体

结构体中的sz是记录联系人的个数,如果我们不将它初始化,他里面存放的是随机值,这样在增加联系人时+1,就没有任何意义了。

 

2.2.1 函数调用

2.2.2 函数体的实现

 

 2.2.3 运行结果

 

2.3 添加联系人信息

2.3.1 函数调用

参数是通讯录的地址也就是包含个人信息和记录个数的结构体

 

2.3.2 函数体的实现

 2.3.3 运行结果

 

2.3 删除指定联系人信息

2.3.1 函数调用

2.3.2 函数体的实现

判断姓名是否一样的函数,在查找修改中都会使用,封装成函数更加方便

 2.3.3 运行结果

2.4 查找指定联系人信息

2.4.1 函数调用

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值