您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > c语言从入门到精通 实战篇――第30章 通讯录
第30章通讯录开发背景需求及功能分析系统功能的实现系统运行开发过程常见问题及解决第30章通讯录开发背景需求及功能分析系统功能的实现系统运行开发过程常见问题及解决第30章通讯录开发背景需求及功能分析系统功能的实现系统运行开发过程常见问题及解决第30章通讯录开发背景需求及功能分析系统功能的实现系统运行开发过程常见问题及解决第30章通讯录开发背景需求及功能分析系统功能的实现系统运行开发过程常见问题及解决第30章通讯录开发背景需求及功能分析系统功能的实现系统运行开发过程常见问题及解决30.1开发背景在信息化不断发展的今天,社会成员相互之间联系越来越紧密,联系方式也越来越多。我们除了手机,移动电话等常规联系方式外,现在还有了电子邮箱、MSN、QQ等信息化的联系方式,那么为了方便我们将每个联系人的多个联系方式保存在一起,方便由于一种联系方式联系不到某人时,可查询其他联系方式,以前的“纸质”通讯录已经越来越赶不上信息化的速度,势必被淘汰,所以我们用所学过的知识实现一个“非纸质”通讯录。本章通过建立一个较为完整的通讯录,让读者全面掌握使用C语言开发应用程序的流程。30.2需求及功能分析30.2.1总体功能分析30.2.2功能模块分析30.2.1总体功能分析本系统主要划分为8个子模块,如下图所示。通讯录管理系统增加联系人保存联系人加载联系人显示联系人退出模块删除联系人查找联系人插入联系人30.2.1总体功能分析此外,由于该系统设计了一些图书和读者的信息存储,而为简单起见,这里没有设置数据库。因此,就应该定义一个数据结构来存储这些信息。通过前面的学习知道,类和结构体都可以实现多个不同类型数据的存储。而为了重点体现C的特点,我们采用类来存储这些数据类型。结构体定义代码如下(代码30-1.txt)。30.2.1总体功能分析01typedefstruct02{03charname[50];/*姓名*/04charcorp[50];/*工作单位*/05charphone[15];/*联系手机*/06charaddress[100];/*家庭住址*/07charqq[15];/*联系QQ*/08charmsn[50];/*联系MSN*/09charmail[50];/*email*/10}AddressInfo;/*通讯录结构体*/30.2.2功能模块分析下面依次分析各模块应具备的功能。1.增加联系人模块增加联系人功能应该能够实现新增联系人。当需要一次加入多个联系人信息时,最好不要重复选择此功能,应该是在增加联系人之前,就需要用户输入一次增加的联系人个数,然后进行存储,并一个个地增加。2.删除联系人模块该模块主要完成删除联系人的操作。在删除联系人时需要输入将要删除的联系人的姓名,然后进行存储。3.查找联系人模块查找联系人功能应该能够实现查找联系人信息,要求输入联系人姓名,再根据姓名查找所有符合条件的信息。4.插入联系人模块该模块主要完成在某个联系人之前插入另外一个联系人。30.2.2功能模块分析5.保存联系人模块保存联系人信息功能应该能够实现将联系人信息经过增加、删除等修改性操作后,将内存信息保存至文件。6.加载联系人信息模块从文件加载联系人信息功能应该能够实现将联系人信息文件以写入的顺序读入内存,并可以增加、删除等操作。7.显示所有联系人模块将系统运行过程中的所有联系人信息全部输出。8.退出模块退出通讯录管理系统的功能应该是能够结束死循环,退出管理系统。30.3系统功能的实现30.3.1系统选择菜单的实现30.3.2增加联系人功能的实现30.3.3删除联系人功能的实现30.3.4查找联系人模块的实现30.3.5插入联系人模块的实现30.3.6保存联系人文件模块的实现30.3.7从文件加载联系人信息模块的实现30.3.8显示所有联系人信息模块的实现30.4系统运行系统设计好了,现在就来看看设计的成果。30.5开发过程常见问题及解决开发过程常见问题及解决办法如下,仅供参考。⑴如果出现“warningC4013:'exit'undefined;assumingexternreturningint”的编译错误,在程序开头加上对应的头文件包括语句,通常就能解决问题。⑵在VisualC++6.0下开发清屏时,由于对屏幕控制的权限不多,因此,可使用“system(cls);”语句清屏。⑶C语言较高级的地方还在于对内存的访问与处理,内存申请、内存复制、内存置位、释放内存,具体函数有:malloc、memcpy、memset、free等,使用方法请参考头文件。
本文标题:c语言从入门到精通 实战篇――第30章 通讯录
链接地址:https://www.777doc.com/doc-3984333 .html