1、 程序设计基础(C/C+)课程设计报告 通讯录通讯录管理系统管理系统 程序设计课程设计 1 C 程序课程设计报告程序课程设计报告 一、课程设计目的和内容概述一、课程设计目的和内容概述 1.目的:加深对目的:加深对C 课程设计课程所学知识的理解,进一步巩固课程设计课程所学知识的理解,进一步巩固 C 语言编程方法。学会语言编程方法。学会 编制结构清晰、风格良好、数据结构适当的编制结构清晰、风格良好、数据结构适当的 C 语言程序,从而具备解决综合性实际问题的语言程序,从而具备解决综合性实际问题的 能力,加强动手能力。能力,加强动手能力。 2.2.内容:设计一个简易的通讯录管理系统。该题目要求在熟练掌
2、握内容:设计一个简易的通讯录管理系统。该题目要求在熟练掌握 C C 语言的基本知识:数语言的基本知识:数 据类型(整形、实型、字符型、指针、数组、结构等) ;运算类型(算术运算、逻据类型(整形、实型、字符型、指针、数组、结构等) ;运算类型(算术运算、逻辑运算、辑运算、 自增自减运算、赋值运算等) ;程序结构(顺序结构、判断选择结构、循环结构) ;大程序自增自减运算、赋值运算等) ;程序结构(顺序结构、判断选择结构、循环结构) ;大程序 的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、 、绘图的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、
3、、绘图 函数,以及文件的读写操作等。其中结构体,函数的调用,算法的设计是尤为重要的。函数,以及文件的读写操作等。其中结构体,函数的调用,算法的设计是尤为重要的。 二二 、题目题目 通讯录管理系统。通讯录管理系统。 问题描述问题描述 该系统模拟通讯录管理系统该系统模拟通讯录管理系统,实现对通讯录进行管理实现对通讯录进行管理 基本要求基本要求 要能提供以下几种功能要能提供以下几种功能: (1)查看功能查看功能:选择此功能时选择此功能时,列出下列三类选择列出下列三类选择: A:办公类办公类 B:个人类个人类 C:商务类商务类 (2)当选中某类时当选中某类时,显示出此类所有数据中显示出此类所有数据中的
4、姓名和电话号码的姓名和电话号码 (3)添加数据功能添加数据功能:能录入新数据能录入新数据,每个结点包括每个结点包括:姓名姓名,电话号码电话号码,分类分类(可能选项有可能选项有:w 为办公类为办公类 p 为个人类为个人类 b 为商务类为商务类),电子邮件。电子邮件。 例如例如: 李华李华 13589664454 商务类商务类 当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过 15 条条 信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目信息时,存储空间已满,不能再录入
5、新数据;录入的新数据能按递增的顺序自动进行条目 编号。编号。 (4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (5)删除功能:选中某个人的姓名时,可对此人的相应删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目数据进行删除,并自动调整后续条目 的编号。的编号。 三三 程序设计程序设计 1.1.总体设计总体设计 首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用 程序设计课程设计 2 模块来分别实
6、现程序的各个功能。各个模块用函数来实现。在通过主函数来判断输入字母,模块来分别实现程序的各个功能。各个模块用函数来实现。在通过主函数来判断输入字母, 从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。 2.2.详细设计详细设计 根据功能需要建立显示,添加,查看,删除,修改,保存五个模块。在模块中通过调用各根据功能需要建立显示,添加,查看,删除,修改,保存五个模块。在模块中通过调用各 个函数来实现功能。详细设计如下:个函数来实现功能。详细设计如下: (1 1)构建结构体,写入文件)构建结构体,写入文件 FILE *fp; int i; struct address char a40; /email 地址地址 ; struct ffriend int num; char name20; char ki