中南大学c 课程设计

上传人:第*** 文档编号:78861701 上传时间:2019-02-15 格式:PDF 页数:19 大小:233.69KB
返回 下载 相关 举报
中南大学c  课程设计_第1页
第1页 / 共19页
中南大学c  课程设计_第2页
第2页 / 共19页
中南大学c  课程设计_第3页
第3页 / 共19页
中南大学c  课程设计_第4页
第4页 / 共19页
中南大学c  课程设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《中南大学c 课程设计》由会员分享,可在线阅读,更多相关《中南大学c 课程设计(19页珍藏版)》请在金锄头文库上搜索。

1、中中 南南 大大 学学 高级程序设计实践(C+) 课程设计报告课程设计报告 设计题目 :教学设备管理系统 指导老师 : 设计者: 专业班级 : 时间日期 : 目目录录 一课题的基本要求和内容 二程序功能简介 三主体内容: 1 设计分析 2 程序结构 3 相关源程序 4 操作方法 5 制作模块 6 试验结果 7 设计体会 8 参考文献 一 基本内容和要求 (一)基本要求 本设计采用教师指导、学生自学和独立编程操作方式,先由学生查阅与本设 计有关的书籍和资料, 利用 Visual C+ 6.0 设计环境与开发工具, 在两周时间内, 完成课程设计内容中的一个管理系统,具体要求如下: 1、独立思考独立

2、思考:独立完成课程设计中各任务的设计和调试。 2、上机准备:上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试 步骤和有关环境的设置方法,准备好有关的文件。 3、数据管理数据管理:管理系统中的数据可用数据库(如 Access 数据库)的形式保 存,也可用普通文件(文本文件或二进制文件)的形式保存。 4、程序要求:程序要求:界面美观、可操作性强、稳定性好。 (二)基本内容: 教学设备管理系统 为方便管理学校教学设备,编写一个教学设备管理系统软件。系统记录必须 包括设备编号、设备名称、生产厂家、购置日期、台数、单价、及备注等。 二 程序功能简介 (1) 添加:增加一台设备的记录到管理系

3、统中。 (2) 查询:可以根据设备编号查找某台设备的相关信息,若找到则显示其 信息。 (3) 修改:在管理系统中修改一台设备的记录。 (4) 保存:将所有教学设备信息保存在一个文件中(数据库文件或普通的 文本文件) 。 (5) 读取:从文件中读取已保存了数据。 (6) 删除:从管理系统中删除一条记录。 (7) 恢复:能恢复被删除的记录。 (8) 统计:(A)统计每页合计台数及金额;(B)累计设备的总台数及总金额;(C) 统计单价在:200 元以下、200800 元之间和 800 元以上的设备总台数 及总金额。(D)以表格形式打印教学设备明细表。 (9) 其他:可以根据自己的思路设计其他功能。

4、三 主体内容 1 设计分析 根据问题描述和要求,系统要求能够添加设备,按设备编号查询,修改,保 存,读取,删除,恢复设备的信息。系统既然具有“数据存盘”功能,设备数据 可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出人员数据,所以 系统增加了“人员数据装入”模块,以方便用户使用,避免数据重新录入。考虑 到系统实现简捷,人员数据文件采用文本文件,人员数据文件名. 使用面向对象的程序设计思想进行分析,整个系统涉及两个类的信息和操作, 设备和购置日期。所以系统主要涉及两个大类:设备类 Equipment,日期 Date。系 统的主体框架就是设备类,考虑系统操作的设备信息的数量具有不确定性,所

5、以 考虑使用链表保存,处理设备信息。设备类包含所以设备信息的一个不带头结点 的链表,可以对设备信息进行增,删,改,查询,基础数据设置,数据存盘,数 据装入等操作的相关模块(Add,Delete,Modify,Find,Save,Recover,Read,Statistic) 作为成员函数。 2 程序结构 系统功能模块 3 相关源程序 #include #include #include #include using namespace std; class Date private: int year; int month; int day; 教学设备管理系统 添加设备信息 查找设备信息 修改

6、设备信息 保存设备信息 读取设备信息 删除设备信息 恢复设备信息 统计设备信息 public: Date(int y = 0 , int m = 0 , int d = 0); Date void foutput(ofstream void output(); void alloutput(); ; void Date:alloutput() coutnum; void Equipment:setName() coutname; void Equipment:setFactory() coutfactory; void Equipment:setDate() int y,m,d; coutym

7、d; Date a(y,m,d); date = a; void Equipment:setAmount() coutamount; void Equipment:setPrrice() coutprrice; void Equipment:setNotes() coutnotes; void Equipment:foutput(ofstream coutname_; coutamount_; coutprrice_; elemn = new Equipment(num_,name_,amount_,prrice_); n+; return true; return false; bool L

8、ist:find() int num_; coutnum_; for(int i = 0 ; i getNum() coutoutput(); return true; cout 0) int i,num_; bool ok = false; coutgetNum()num_; for (i = 0 ; i getNum()=num_) ok = true; int choice = 1; do system(“cls“); elemi-output(); coutchoice; if(choice 8) coutsetNum(); break; case 2: elemi-setName()

9、; break; case 3: elemi-setFactory(); break; case 4: elemi-setDate(); break; case 5: elemi-setAmount(); break; case 6: elemi-setPrrice(); break; case 7: elemi-setNotes(); break; case 8: break; while (choice != 8); if(!ok) coutfoutput(fout); coutnum_; finname_; finfactory_; finymd; if(fin.eof() break;

10、 Date date_(y,m,d); finamount_; finprrice_; finnotes_; elemn = new Equipment(num_,name_,amount_,prrice_); elemn-give(factory_,date_,notes_); n+; cout 0) int i,num_; bool ok = false; coutgetNum()num_; for (i = 0 ; i getNum()=num_) ok = true; system(“cls“); elemi-output(); coutstr; if(str != Y fout.cl

11、ose(); if(i = n-1) delete elemi; elemi = NULL; else Equipment *tem; tem = elemi; elemi = elemn-1; elemn-1 = tem; delete elemn-1; elemn-1 = NULL; n-; coutnum_; finname_; finfactory_; finymd; if(fin.eof() break; Date date_(y,m,d); finamount_; finprrice_; finnotes_; elemn = new Equipment(num_,name_,amo

12、unt_,prrice_); elemn-give(factory_,date_,notes_); n+; coutgetPrrice() elemj+1-getPrrice() tem = elemj; elemj = elemj+1; elemj+1 = tem; coutgetPrrice() getAmount(); p_200 += elemi-getAmount()*elemi-getPrrice(); else if(elemi-getPrrice() getAmount(); p200_800 += elemi-getAmount()*elemi-getPrrice(); el

13、se n800_ += elemi-getAmount(); p800_ += elemi-getAmount()*elemi-getPrrice(); elemi-alloutput(); coutchoice; if(choice 9) cout“输入错误,请重新输入!“endl; choice = 1; continue; switch (choice) case 1: if(list.add() cout“添加成功!“endl; else cout“线性表已满,添加失败!“endl; break; case 2: list.find(); break; case 3: list.mod

14、ify(); break; case 4: list.Save(); break; case 5: list.Read(); break; case 6: list.Delete(); break; case 7: list.Recover(); break; case 8: list.Statistic(); break; case 9: break; system(“pause“); system(“cls“); while (choice != 9); return 0; 4 操作方法 main 函数 do-while 循环,选择相应的数字进入相应的函数运行相应功能 5 制作模块 主要负

15、责制作添加功能,查找功能及 Equipment 类和 Date 类。添加功能通过 if 函数确定适当位置输入相应信息进行添加。查找功能通过 if 函数搜索全部程序 直至找到相符的设备。Equipment 类录入相关设备信息。Date 类录入设备日期信 息,在 Equipment 中会调用。 6 试验结果 7 设计体会 通过本次设计,进一步体会了 c+的语言特点,进一步掌握了类的试用方法,并 能更加熟练地运用所学知识进行程序设计。同时在完成课程设计的过程中,组里 同学通力合作,大家合理分工,认真而有效率地完成了自己的部分,并最终完成 了本组的设计课题。 8 参考文献 C+程序设计(第 2 版) 谭浩强 编著 清华大学出版社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号