C语言程序课程设计资料报告材料———通讯录管理系统

  • 格式:doc
  • 大小:250.91 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

海南大学

C语言程序课程设计报告

学号:048

姓名:隆艳萍

年级:2012级

学院:经济与管理

专业:信息管理与信息系统

分数:

通讯录管理系统

一、需求分析

设计题目及要求:

◆建立通讯录信息,信息包含、籍贯、、电子等;

◆能够提供添加、删除和修改通讯录信息的功能;

◆能够提供安不同方式查询的功能;如按或籍贯、等查询;

◆将通讯录保存在文件中;

◆能够按表格方式输出通讯录信息。

系统功能需求分析:

主要包含一下多种功能:

1)添加:添加通讯录记录

2)显示:显示通讯录记录

3)删除:删除通讯录记录

4)查询:查询通讯录记录

5)修改:修改通讯录记录

6)保存:将信息保存到文件

二、概要设计

系统功能模块图:

添加:可以添加通讯录记录,依次输入、、籍贯、电子后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录

删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录容

查询:可以选择用、、籍贯三种方式查询

修改:输入欲修改的那个人的名字后,再依次输入、、籍贯、电子即可完成修改保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件

三、程序设计与分析

1.1问题提出

有个通讯录,要求该系统对通讯录的,籍贯,,电子,进行输入,显示,查找,删除,添加,修改,保存等操作的管理。

1.2本系统涉及知识点

本系统涉及到所学的知识点有:编译预处理、循环结构、选择结构、顺序结构、数组、函数等。

1.3 功能要求

●制作一个通讯录,要求可以记录通讯人的详细联系方式,包括:,籍

贯,,电子。

●能根据需要随时在通讯录中添加联系人

●能根据联系人,籍贯,中任一信息查找联系人

●能根据需要修改某联系人的信息

●能删除某联系人的所有详细信息

1.4 各模块结构功能及程序说明

◆各模块的功能

➢Main 模块:根据选单容实现调用函数

➢Delete 模块:删除通讯录中某人信息

➢List 模块:显示通讯录中所有人的信息

◆程序说明

Main 函数

void main() /*主函数*/

{

int n=0;

for(;;)

{

switch(menu_select())

{

case 1:

printf("\n\t添加记录到通讯录\n"); /*添加记录*/

n=Input(pe,n);

break;

case 2:

printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/

Display(pe,n);

break;

case 3:

printf("\n\t从通讯录中删除记录\n");

n=Delete_a_record(pe,n); /*删除记录*/

printf("\t");

system("pause");

break;

case 4:

printf("\n\t在通讯录中查找记录\n");

Query_a_record(pe,n); /*查找记录*/

printf("\t");

system("pause");

break;

case 5:

printf("\n\t修改通讯录中的记录\n");

Change(pe,n); /*修改数据*/

printf("\t");

system("pause");

break;

case 6:

printf("\n\t保存功能\n");

WritetoText(pe,n); /*保存数据*/

printf("\t");

system("pause");

break;

case 0:

printf("\n\t\t使用,再见!\n"); /*结束程序*/

printf("\n\t\t");

system("pause");

exit(0);

}

}

}

四、通讯录工作流程图

①添加:添加通讯录记录

②显示:显示通讯录记录③删除:删除通讯录记录

④查询:查询通讯录记录⑤修改:修改通讯录记录

先选择查询方式,以查询方式为例

五、调试过程

1).显示的主菜单界面2).删除界面:

3).查询界面:4).保存界面:

六、程序有待改进的地方

源程序运用了大量的数组、循环、选择结构、函数调用,以及少量使用指针指向结构,涵盖了我们所学到绝大多数知识。但是本来还可以使用预处理命令,即宏定义。如果加以使用这种方法,相信此源代码看上去又会简洁一些。我的想法是如下:# define P printf

# define N “\n”

# define C “\c”

# define S “\s”

七、本次设计的收获和建议

课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,

锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随

着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因

此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最

常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。

回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编

程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不

仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知

识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知

识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,

才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计

的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各

种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的

知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针,链表……通过这

次课程设计之后,我们把前面所学过的知识又重新温故了一遍。

我做的是通讯录系统,虽然是很简单的一个小的程序,但对我一个初学者来

说却是一个很大的困难。更加是第一次做课程设计,所以第一天下午在机房做了

一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们

不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可

是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。特别是

结构体,指针的部分,几乎是一片空白。不过经过几天的努力,大体上把课本上