您现在的位置是:群英 > 开发技术 > 编程语言
如何用C语言编写通讯录的功能
Admin发表于 2022-05-06 17:56:18759 次浏览
关于“如何用C语言编写通讯录的功能”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“如何用C语言编写通讯录的功能”吧。


目录
  • 基本思路和代码实现
  • 其他探讨
  • 总结

基本思路和代码实现

为了代码清晰易读,我们创建一个Main.c源文件用来实现代码的基本逻辑。创建一个Contact.h源文件用于封装实现功能的函数,创建Contact.h头文件用于函数的声明。

首先就是构架代码基本框架,在主函数中实现打印菜单和循环的功能 (这里为了好截图switch里的语句缩进得比较紧凑)

基本逻辑实现后开始考虑创建通讯录,通讯录里会记录人的信息。所以要先能够描述人的信息: 创建表达人的信息的结构体类型,在Contact.h中定义:

而通讯录里记录的是多人的信息,所以创建通讯录实际上就是创建上述结构体的数组。这里需要思考一个问题,在之后实现函数的功能比如增删时,怎么才能得知从哪里增加或者在什么范围内查找并删除。这就需要用到一个能表达当前通讯录有多少个人的变量。而这个变量也能够用来描述通讯录,与其把他独立定义在主函数里不如创建一个通讯录的结构体,将其定义在里面。这样一来此变量的意义更加明确,也不用每次调用函数时都要额外传递他的参数,只需传结构体就行了。创建通讯录的结构体类型,在Contact.h中定义:

 

创建完了之后接着进行通讯录初始化,封装一个初始化函数InitContact,再设计好其他函数名写在相应位置处:​​​​​​

然后开始具体实现函数的功能。

初始化函数InitContact

  

增加函数AddContact

 

删除函数DelContact(这里封装了一个FindName函数,其功能是找到名字相同的结构体数组元素则返回其下标,未找到则返回-1): 

 查找函数SeachContact

 修改函数ModifyContact

 打印函数ShowContact:

 FindName函数:

SortContact排列函数可以有多种不同的排列方式,这可以由自己设计。还可用qsort函数加上自己的比较函数来实现更多类型的排列,这里就不实现此函数了。再做好函数声明引好头文件,到这里通讯录的实现就完成了。

其他探讨

在设计如名字和电话住址等数组的大小时,可以使用#define定义

当之后需要修改这些数组的大小时,不用再去一个一个找到每个使用这些数组的地方进行修改,直接修改全局变量的值即可,非常方便。

在判断数字时,可以使用枚举常量将数字替换成有实际意义的词

有了枚举常量,即使代码过长,也不用在反复翻阅寻找数字所代表的意义,直接从词语含义上就能得知。增加了代码的可读性。

总结


通过以上内容的阐述,相信大家对“如何用C语言编写通讯录的功能”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: C语言通讯录
相关信息推荐
2022-05-05 17:58:18 
摘要:给大家带来一篇关于实现JavaScript的组成:BOM和DOM详解的相关教程文章,内容涉及到javascript、bom、dom、JavaScript组成BOM和DOM等相关内容,更多关于JavaScript组成BOM和DOM的内容希望能够帮助到大家。
2022-02-25 17:19:26 
摘要:Python中如何求阶乘?Python中要实现求阶乘的方法有很多,这篇给大家介绍四个方法,分别是使用for循环、使用reduce()函数、使用factorial()函数和使用递归调用。文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
2022-11-19 17:50:19 
摘要:本篇文章给大家带来了关于vue的相关知识,其中主要介绍了数据双向绑定的相关问题,vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的,下面一起来看一下,希望对大家有帮助。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部