c语言静态通讯录、动态通讯录、文件通讯录详解

c语言呢,真的是个好玩的东西。我曾经拿c语言编写过扫雷、三子棋的游戏,没有能将这些游戏思路的编写成博客是一件不太好的事情。在今后呢,我会在意料之外的日子,更新这两款游戏编程思路及代码的博客。

本篇博客将以拿c语言编写静态通讯录、动态通讯录、文件通讯录的思路及代码为主。倾情推出,含泪讲解。(因为东西内容是在太多,但是不写不可以。

一.静态通讯录思路加代码

静态通讯录有七个功能,分别是每次增加一个联系人、每次根据姓名定位减少一个联系人(这里,不考虑通讯录好友有重名的现象,只是最简单的功能实现)、根据姓名查找联系人并打印出该联系人的全部信息、根据姓名锁定联系人修改其信息、打印出通讯录所有的联系人、根据姓名字符串排序、退出通讯录

首先,制定菜单,根据多个printf输出实现。在测试函数主体内部,通过对do..while循环的使用,输入选项选择相应的功能。其中的小妙招是while循环判断条件为选择功能按键不为0,当为0时提醒退出通讯录。优化部分:switch内部的数字选项,可以用enum枚举的形式定义常量标识符,通过标识符直接明了每个数字选项对应的功能。

大体框架构建好后,就要实现填充其中的功能。其实,主要就是要完成几个函数的声明定义和编写。

第一,根据题目要求设置好变量。

第二,开始补充各种函数。

1.认真思考,通讯录需要初始化。初始化通讯录,可以再创建变量时直接全部初始化为0,如上图所示。亦可以写个初始化函数。建议写初始化函数,在创建动态通讯录和文本通讯录都有相应的便利之处。

2.各种功能的函数实现。

增加一个联系人

 显示一个联系人

删除一个联系人

 

查找联系人

 

修改联系人信息

 

根据姓名字符串排序联系人

 

二.动态通讯录思路加代码

动态通讯录较静态通讯录,在定义Contact中会有不同,Peo类型不再是数组,而是指针,可以通过使用malloc、calloc函数开辟空间,通过使用realloc函数增加空间。并且还要多一个成员变量容量,通过通讯录实际人数和可容量人数比较来判断是否需要增容。增容的判断和发生时在增加人数的函数中发生的。并且在退出通讯录的时候要销毁开辟的空间。

定义Contact的结构体

 初始化通讯录 

 

增加一个联系人

 

销毁开辟的空间

 

三.文件通讯录思路加代码

文件通讯录较之静态通讯录、动态通讯录无疑多了能将联系人的资料信息存放在一个文件当中去,保证程序第二次执行仍旧可以看到上一次执行输入的联系人的信息。

在初始化阶段就有加载通讯录文件信息的功能,在退出通讯录的时候要有保存通讯录联系人信息到文件的功能上去。

保存联系人信息到文件上

 

加载通讯录

再来仔细地分析分析加载通讯录的功能是如何实现的。读取文件中的内容然后将文件中的内容再拷贝到pc->peo的空间中去。但是有一个问题,初始化pc->peo的空间只允许存储三个联系人的信息,如果文件中联系人个数远超于3呢,该怎么办呢?不够就继续增容吗。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值