通讯录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试与光电工程学院
课程设计课题申报表
测控技术与仪器系2009 级学生
2011年11月10日
测试与光电工程学院
课程设计任务书
测控技术与仪器系090813 班学号09081303 姓名彭璜
课题名称:基于Vc的通讯录
课题要求:本课程设计旨在训练和提高学生综合运用c语言进行编程的能力,使学生更加系统的理解和掌握C语言的基本概念、语言特点和编程技巧。本课题的基本内容有:
1、记录通讯录内的人员姓名、地址、电话号码;
2、显示所有人员的信息;
3、根据姓名查找人员信息;
4、根据姓名删除人员信息;
5、能够将输入的记录保存为文件;
课题进程:
2011.11.17-2011.12.24查阅相关资料
2011.11.25-2011.12.8学习C语言编程
2011.12.9-2011.12.15编程调试程序
2011.12.16-2011.12.22撰写课程设计论文
指导教师:程强强
摘要
C语言是近年在国内外得到迅速推广应用的一种语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。
本设计主要阐述了通过使用 C 语言编程实现通讯录管理系统的基本功能。该程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。程序利用定义结构体类型 struct Message 将人员的所有信息封装在一个数组中,作为一个整体处理,非常方便。用到的知识点是结构体类型定义结构提数组的的定义及应用。另外还用到了大量的自定义函数。本人设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找等必要的功能。
①记录通讯录内的人员的姓名、地址、电话号码。
②显示所有人员的信息。
③根据姓名查找人员信息。
④根据姓名删除人员信息。
⑤能够将输入的记录保存为文件。
关键字: C语言通讯录管理结构体类型自定义函数
目录
一、绪言 (5)
(一)设计目的 (5)
(二)设计任务 (5)
(三)设计思路 (6)
二、系统设计 (6)
(一)流程图设计 (6)
(二)源程序设计 (7)
三、系统调试 (14)
(一)系统调试 (14)
(二)调试过程存在问题与解决办法 (15)
四、分析与总结 (15)
五、致谢 (16)
六、参考文献 (17)
七、附录 (17)
一、绪言
C语言作为一门最通用的语言,在过去很流行,将来依然会如此。从C语言产生到现在,它已经成为最重要和最流行的编程语言之一。在各种流行编程语言中,都能看到C语言的影子,如Java的语法与C语言基本相同,用C语言编程的程序在TC中仍可以运行。学习、掌握C语言是每一个计算机技术人员的基本功之一,也是当代大学生所要具备的基本知识。C语言具有高级语言的强大功能,使用方便灵活,却有很多直接操作计算机硬件的功能(这些都是会汇编语言的功能),因此,C语言通常又被称为中级语言。C编译的程序对语法检查并不像其他高级语言那么严格,这就给我们留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对我们这些初学C语言的人来说,经常会出一些连自己都不知道在哪里的错误。
(一)设计目的
1、通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强.
2、通过设计和实现通讯录的设计, 熟练掌握C程序的运行环境,训练基本编程能力、熟悉C语言开发,掌握系统编程的方法和技巧。
3、熟练掌握C语言,调用子程序和函数进行读写数据的操作。程序编写过程中必须用到函数、指针、文件操作等C语言技能。
(二)设计任务
1、任务来源通讯录管理系统在日常生活中的应用也很广泛,比如在手机、液晶显示电话等通讯设备中。可以用它代替纸质通讯簿,将其与通讯设备相结合具有方便、快捷等特点。
2、设计要求
流程图设计:使用传统流程图或 N-S 流程图,有系统组成框图。
源程序设计:使用 C 语言编写,有模块功能说明(如函数功能、入口及出
口参数说明,函数调用关系描述等),程序清单中要有足够的注释,程序书写格式规范。
程序调试:使用 VC++6.0 软件,上机调试必须通过,有调试方法,调试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
编写课程设计报告书:用 Word2003 软件编制,样式、字体、段落、页面、页码等格式要求见课程设计模板。
(三)设计思路
1、设计方法根据设计任务书中的设计要求,本设计采用以下设计方法。本系统首先设计出了主函数,然后根据去要实现的功能分别设计了输入、显示、查找、删除等功能的子函数。通过主函数的调用来实现功能要求。输入函数用来确定输入的记录数及项目内容。显示函数是将是将输入的记录显示出来。查找是调用 find()函数将待查找姓名字符串和记录数组中的姓名字符串进行比较,如果比较相等则调用 print()函数显示查找到的记录。删除与查找相似,按姓名找到删除后再用字符串拷贝函数 strcpy()将后一条记录的姓名拷贝到前一条,从而实现后续记录的前移。最后对记录进行保存文件,运用到了文件的打开读写等知识。
2、设计方案分析根据设计任务书中的设计要求,可以设想几种几种方案,可以是简单的设计,也可以是较复杂的设计。由于系统管理要处理大量的数据这些数据要以文件的形式储存外部介质(如磁盘)上的,需要时再从磁盘中调入到计算机内存中,处理完毕后输出到磁盘上存储起来。这涉及到文件的知识,但由于本学期课时有限,文件的知识老师讲的不多,故本设计对于涉及文件读写功能的设计做了简化。省去了一些需要利用到文件读取功能的子函数。
二、系统设计
(一)流程图设计
1、算法分析本程序是非数值计算型算法设计。部分算法流程图如图一二所示。对与记录通讯录内的人员的姓名、地址、电话号码这一功能的实现,我们可以使用 C 语言提供的结构体类型。可以将这些信息封装在一个数组中作为一个整体处理。由于它们是存放在字符数组中的,对于它们的查找、插入、删除我们 FOR 循环语句中嵌套使用字符串处理函数,如字符串拷贝函数 strcpy()、字