安徽电子信息职业技术学院
《C语言程序设计》
课程设计报告书
题目: 通讯录管理系统
姓名: 苏稳
专业: 应用电子技术
班级: 电子094
学号: 090305408
设计成绩:
指导教师: 蔡骏
设计完成日期 2010年 12月 20日
摘要
本设计主要阐述了通过使用C语言编程实现通讯录管理系统的基本功能,并设计了简单的界面。该程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。程序利用定义结构体类型struct ADDRESS将人员的所有信息封装在一个数组中,作为一个整体处理,非常方便。用到的知识点是结构体类型定义结构提数组的的定义及应用。另外还用到了大量的自定义函数。本人设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、添加等必要的功能。
①记录通讯录内的人员的姓名、地址、电话号码。
②显示所有人员的信息。
③通过输入姓名查找人员信息。
④通过输入姓名查找到要删除的人员信息,然后可以进行删除。
⑤能够将输入的记录保存为文件。
关键词: 通讯录管理结构体类型自定义函数
目录
一、绪言…………………………………………………………………………… 1
(一) 设计任务……………………………………………………………… 1
(二) 设计思路……………………………………………………………… 1
二、系统设计……………………………………………………………………… 2
(一) 流程图设计…………………………………………………………… 2
(二) 源程序设计…………………………………………………………… 4
三、系统调试……………………………………………………………………… 12
(一) 系统调试………………………………………………………………12
(二) 调试过程存在问题与解决办法……………………………………… 14
总结………………………………………………………………………………… 15
参考文献………………………………………………………………………………15
一、绪言
(一)设计任务
1、任务来源
通讯录管理系统在日常生活中的应用也很广泛,比如在手机、液晶显示电话等通讯设备中。可以用它代替纸质通讯簿whatsapp官网,将其与通讯设备相结合具有方便、快捷等特点。
2、设计要求
流程图设计:使用传统流程图或N-S流程图,有系统组成框图。
源程序设计:使用C语言编写,有模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等),程序清单中要有足够的注释,程序书写格式规范。
程序调试:使用VC++,上机调试必须通过,有调试方法,调试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
编写课程设计报告书:用Word2003软件编制,样式、字体、段落、页面、页码等格式要求见课程设计模板。
(二) 设计思路
1、设计方法
根据设计任务书中的设计要求,本设计采用以下设计方法。
本系统首先设计出了主函数whatsapp网页版登录,然后根据去要实现的功能分别设计了输入、显示、查找、删除、添加、排序等功能的子函数。通过主函数的调用来实现功能要求。输入函数用来确定输入的记录数及项目内容。显示函数是将是将输入的记录显示出来。查找是调用find()函数将待查找姓名字符串和记录数组中的姓名字符串进行比较whatsapp web,如果比较相等则调用print()函数显示查找到的记录。删除与查找相似,按姓名找到删除后再用字符串拷贝函数strcpy()将后一条记录的姓名拷贝到前一条,从而实现后续记录的前移。添加函数是先确定插入记录的位置,再将当前位置记录后移。排序是将记录按姓名的英文字母顺序进行排列,使用字符串比较函数strcmp()对数组中的姓名字符串进行比较,定义一个作为交换数据的临时变量用for语句进行交换循环。最后对记录进行保存文件,运用到了文件的打开读写等知识。
2、设计方案分析
根据设计任务书中的设计要求,可以设想几种几种方案,可以是简单的设计
,也可以是较复杂的设计。由于系统管理要处理大量的数据这些数据要以文件的形式储存外部介质(如磁盘)上的,需要时再从磁盘中调入到计算机内存中,处理完毕后输出到磁盘上存储起来。这涉及到文件的知识,但由于本学期课时有限,文件的知识老师讲的不多,故本设计对于涉及文件读写功能的设计做了简化。省去了一些需要利用到文件读取功能的子函数。
……
二、系统设计
(一)流程图设计
……
1、算法分析
本程序是非数值计算型算法设计。部分算法流程图如图一二所示。
对与记录通讯录内的人员的姓名、地址、电话号码这一功能的实现,我们可以使用C语言提供的结构体类型。可以将这些信息封装在一个数组中作为一个整体处理。由于它们是存放在字符数组中的,对