C语言简易通讯录的制作

本文介绍了如何使用C语言创建一个包含文本处理(如菜单操作和循环)和通讯录管理(添加、删除、查找、修改和排序)功能的项目,涉及文件分离、函数实现、结构体和内存管理等技术。
摘要由CSDN通过智能技术生成

1.总思想:制作三个文件text.c、contact.c、contact.h分别用来放置主程序逻辑,每个函数功能的实现以及头文件的声明

2.text.c的实现:用传统的do while循环来答应菜单的形式0退出程序,非零可以重复进入程序,这个功能也可以使用转移表函数指针数组的形式来实现,后面可以尝试一下

3.contact.c的实现

(1).该函数包括增加,删除,找到。替换,修改,显示功能罗列出框架

(2).我们使用结构体变量来存放通讯录的信息,结构体变量中应该存在两个元素,一个是存放信息的元素,另外一个用来存放通讯录中含有的信息的个数,存放信息的元素又可以使用一个结构。类型体变量

(3).InitContact函数,传递地址。首先应该初始化,初始化也就是给结构体变量初始化为0,也就是吧count和另外一个结构体初始化为0,可以使用memset函数来对结构体类型变量初始化

(4).AddContact函数的实现,也就是录入数据信息用scanf函数给他们一个一个录入。增加的过程中需要进行一个判断,如果通讯录是满的,那么就无法增加。注意录入一个信息count记录数量的变量加加一次。

(5).ShowContact函数其实就是打印函数,可以使用for循环来逐个打印结结构体变量,中间可以使用%ns  %nd这种方式是的排版更好看。

(6).DelContact函数首先分为两步。想要删除首先的查找,如果存在则可以删除,如果不存在就不能删除,可以写一个FindName函数来进行查找如果找到则返回下标,如果没找到就返回-1(可以自己设计),第二种情况,入如果通讯录为空也不能进行删除,删除操作就是把后面的变量依次赋值给前面的变量(从要删除的该变量起),最后count减减,即删除成功。

(7).ShowContact函数,他是利用上面的FindName函数,如果找到了则打印它,如果没找到则进行说明。

(8).ModContact函数分为两步,首先查找,找不到则无法修改,找到了则进行修改,所谓修改就是重新赋值

(9).sortcontact函数也就是排序函数可以参考之前的qsort排序使用qsort函数进行排序

Tips:1.qsort(地址,元素个数,元素所占字节数,cmp自定义排序函数名(也就是函数地址))

qsort默认是升序,在qsort默认的情况下,cmp函数要求大于返回值大于0,则前面大于后面,相等返回0,前面小于后面返回小于0的数字

2.FindaName函数主要是遍历用strcmp函数来进行比较

scanf("%s",name);   在%s后面不能随便加上\n,\n相当于自己多了一个换行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值