课程设计说明书示例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向过程程序设计(C语言)课程设计
设计说明书
通讯录管理系统
起止日期: 2012 年 12 月 18 日至 2012 年 12月 23日
学生姓名
班级
学号
成绩
指导教师(签字)
计算机与通信学院
2012 年 12 月 23 日
通讯录管理系统
一、设计要求
综合运用C语言程序设计课程的主要知识,设计一个用于通讯录管理的程序,设计指标由程序的功能要求和技术要求具体说明。
1、功能要求
通信录管理程序至少应具有如下功能:
(1)输入功能:能通过键盘向通信录输入数据。要求随时都能使用该项功能实现记录输入,一次可以输入一条记录,也可以输入多条记录。所谓一条记录,是指通信录中一个人员的完整信息。
(2)显示功能:能显示通信录存储的记录信息,在显示时能提供下列显示方式:
①按自然顺序显示。即按照向通信录输入数据时各条记录的先后顺序,显示通信录中已有的记录信息。
②按照一定的排列顺序显示通信录信息。排序顺序有多种,如按姓名查询、按所在城市查询,任何一种查询都要有明确的查询结果。
(3)查询功能:能查询通信录信息。要求至少提供两种查询方式,如按照姓名查询、按所在城市查询,任何一种查询都要有明确的查询结果。
(4)修改功能:能对通信录存储的信息进行修改。要求至少提供两种修改方式,如按照姓名修改、按照通信录记录序号修改。记录序号是通信录记录的自然顺序编号。
(5)删除功能:能对通信录的信息进行删除。要求删除时以记录为单位,既能一次删除一条记录,也能一次删除多条记录。
(6)保存功能:能将记录保存在任何自定义的文件中,如保存在:c:\score。
(7)读取功能:能将保存在文件中的记录读取出来,并在屏幕上显示。
(8)通信录管理结束后,能够正常退出通信录管理程序。
2、技术要求
(1)每个通信录记录至少包括如下信息:姓名、电话、所在城市、所在单位、年龄、备注等。
(2)通信录信息以磁盘文件的形式存储,存储位置、文件名、文件格式由设计者确定。
(3)对于通信录功能中数据输入、显示、查询、修改、删除、保存、读取等功能,要求编写功能独立的函数或主控函数予以实现,其所属的各项功能尽量由独立的函数实现。
(4)以菜单方式实现功能选择控制。
(5)本通信录管理程序能够实现100条记录的管理。
二、程序的功能设计
根据题目的功能要求,设计通信录管理程序的功能如图1所示。
图1 通信录管理程序功能图
各功能的具体说明如下:
1、通信录信息录入
(1)通过显示信息项目,逐项输入通信录的记录信息。
(2)每次输入记录后,通过询问的方式决定是否继续进行记录输入。因此,使用该功能既可以录入一条记录,也可连续录入多条记录。
(3)每次录入记录之前,显示通信录中已有的记录数。
2、通信录信息显示
(1)按自然顺序显示,即以通信录文件中的记录顺序为序,逐个对文件记录进行显示。(2)按排序顺序显示,即对通信录中的记录进行排序后,再按照排序结果显示出来,但不管使用何种排序算法,排序显示不能改变通信录记录的物理顺序。
(3)当通信录信息较多时,实行分屏显示,每屏最多显示20条记录信息。
(4)显示记录时,对每一条记录增加与显示顺序一致的序号。
3、通信录信息查询
(1)提供按姓名查询和按城市查询两种查询方式。
(2)查找成功后显示每一条符号条件记录的完整信息,当一屏不能完成显示时,实行分屏显示,每屏最多显示20条符合条件的记录信息。当找不到符合条件记录时,给出相应的提示信息。
4、通信录信息修改
(1)按照指定的记录序号,对通信录记录进行修改。首先显示指定的记录当前数据,然后
通过重新输入该记录数据的方法,完成数据修改操作。
(2)为方便确认记录序号,该功能项同时提供通信录记录的浏览功能。
5、通信录信息删除
(1)提供按姓名删除和按序号删除两种方式,当找到指定记录时,进行删除操作。找不到指定记录时,给出相应的提示信息。
(2)所有的删除均为物理删除,即将制定的记录从通讯录文件中彻底清除掉。
6、建立通讯录文件
第一次使用通讯录管理程序时,用于建立存储通讯录信息的文件。
三、程序的数据设计
(1)每个通讯录记录由多个不同的数据项构成,是一个结构体数据,因此需要定义结构体数据,因此需要定义结构体数据类型。根据题目要求,确定每个记录包括的数据项目为:姓名、电话、所在城市、所在单位、年龄、备注等。据此定义如下结构体数据类型:
Struct record
{
Char name[20] / /姓名
Int age; / /年龄
Char tele[15]; / /电话号码
Char city[20]; / /所在城市
Char units[30]; / /所在单位
Char note[20]; / /备注
};
(2)考虑到struct record是通讯录管理程序中的通用数据类型,将在多个函数中使用,故将其在头文件中定义。
(3)使用文件存储数据类型为stuct record的通讯录数据。
四、程序的函数设计
1、函数功能描述
(1)main()函数
通讯录管理程序主函数,实现程序功能的主菜单显示,通过各功能函数的调用,实现整个程序的功能控制。
(2) append()函数
函数原型为void append(),是输入数据函数,它实现通讯录数据的键盘输入。
(3)display()函数
函数原型为void display(),是显示通讯录信息的主控函数,它实现显示功能的菜单显示,并进行不同显示功能的函数调用,以实现程序的显示功能。
(4)locate()函数
函数原型为void locate(),是查询通讯录信息的主控函数,它显示查询功能的菜单,并根据查询要求,进行相应的函数调用,以实现查询的查询功能。
(5)modify()函数
函数原型为void modify(),修改通讯录信息的主控函数,它显示查询功能的菜单,进行相应的函数调用,以实现程序的修改功能。
(6)dele()函数
函数原型为void dele(),是删除通讯录记录的主控函数,它显示删除功能的菜单,并根据删除要求,并进行相应的函数调用,以实现程序的修改功能。
(7)disp_arr()函数
函数原型为void disp_arr(struct record[],int),功能是显示struct record型结构体数组的全部数据,其第二个参数是结构体数组的长度。这里的结构体数组对应于存储通讯录文件的数据,数组长度对应于通讯录文件的记录数。
(8)disp_name()函数