中 南 大 学
《高级程序设计实践(C++)》
课程设计报告
设计题目
指导老师 设计者
专业班级
时间日期
目 录
一 课题的基本内容和要求
二 程序功能简介
三 主体内容:
1 设计分析 2 程序结构
3 各模块的功能及程序说明 4 相关模块源程序 5 操作方法 6试验结果 7设计体会 8 参考文献
一 基本内容和要求 (一)基本要求
本设计采用教师指导、学生自学和独立编程操作方式,先由学生查阅与本设计有关的书籍和资料,利用Visual C++ 6.0设计环境与开发工具,在两周时间内,完成课程设计内容中的一个管理系统,具体要求如下:
1、 2、
独立思考:独立完成课程设计中各任务的设计和调试。
上机准备:每次上机前,要事先编制好准备调试的程序,认真想好
调试步骤和有关环境的设置方法,准备好有关的文件。 3、
数据管理:管理系统中的数据可用数据库(如Access数据库)的形
式保存,也可用普通文件(文本文件或二进制文件)的形式保存。 4、
程序要求:界面美观、可操作性强、稳定性好。
(二)基本内容: 教学设备管理系统
为方便管理学校教学设备,编写一个教学设备管理系统软件。系统记录必须包括设备编号、设备名称、生产厂家、购置日期、台数、单价、及备注等。
二 程序功能简介
(1) 添加:增加一台设备的记录到管理系统中。
(2) 查询:可以根据设备编号查找某台设备的相关信息,若找到则显示其信息。 (3) 修改:在管理系统中修改一台设备的记录。
(4) 保存:将所有教学设备信息保存在一个文件中(数据库文件或普通的文本文件)。 (5) 读取:从文件中读取已保存了数据。 (6) 删除:从管理系统中删除一条记录。 (7) 恢复:能恢复被删除的记录。
(8) 统计:(A)统计每页合计台数及金额;(B)累计设备的总台数及总金额;(C)统计单价
在:200元以下、200~800元之间和800元以上的设备总台数及总金额。(D)以表格形式打印教学设备明细表。
(9) 其他:可以根据自己的思路设计其他功能。
三 主体内容 1 设计分析
根据问题描述和要求,系统要求能够添加设备,按设备编号查询,修改,保存,读取,删除,恢复设备的信息。系统既然具有“数据存盘”功能,设备数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出人员数据,所以系统增加了“人员数据装入”模块,以方便用户使用,避免数据重新录入。考虑到系统实现简捷,人员数据文件采用文本文件,人员数据文件名.
使用面向对象的程序设计思想进行分析,整个系统涉及两个类的信息和操作,设备和购置日期。所以系统主要涉及两个大类:设备类Equipment,日期Date。系统的主体框架就是设备类,考虑系统操作的设备信息的数量具有不确定性,所以考虑使用链表保存,处理设备信息。设备类包含所以设备信息的一个不带头结点的链表,可以对设备信息进行增,删,改,查询,基础数据设置,数据存盘,数据装入等操作的相关模块(Add,Delete,Modify,Find,Save,Recover,Read,Statistic)作为成员函数。 2程序结构
(1)系统功能模块图
设 备 管 理 系 统 添加 设备 信息 查找 设备 信息 修改 设备 信息 保存 设备 信息 读取 设备 信息 删除 设备 信息 恢复 设备 信息 统计 设备 信息 3 各模块的功能 (1) 主函数流程
开 始
创建设备 对象 显示菜单 接受输入 根据输入 执行操作 退出 结束
4 源函数
#include
Date(int y = 0 , int m = 0 , int d = 0); Date & operator = (Date &a); void foutput(ofstream &fout); void output(); void alloutput(); };
void Date::alloutput() {
cout< void Date::foutput(ofstream &fout) { fout< Date::Date(int y,int m,int d) { year = y; month = m; day = d; } Date & Date::operator = (Date &a) { year = a.year; month = a.month; day = a.day; return *this; } void Date::output() {