




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设计20092009 20102010 学年第一学期学年第一学期设计题目设计题目 面向对象程序设计面向对象程序设计课程设计课程设计院(系)院(系) 计算机科学与信息工程学院计算机科学与信息工程学院 专专 业业 计算机科学与技术计算机科学与技术 班班 级级 学号学号 学生姓名学生姓名 设计时间设计时间 20102010 年年 1 1 月月 2525 日日- - 1 1 月月 2929 日日 指导教师指导教师 提交日期提交日期 20102010 年年 1 1 月月 2929 日日 上海应用技术学院课程设计任务书上海应用技术学院课程设计任务书课程名称课程名称面向对象程序设计面向对象程序设计课
2、程设计课程设计课程代码课程代码 B704210B704210设计题目设计题目科研经费管理系统的设计科研经费管理系统的设计题目序号题目序号设计时间设计时间20102010 年年 1 1 月月 2525 日日- - 20102010 年年 1 1 月月 2929 日日系系( (院)院)计算机科学与信息计算机科学与信息工程系工程系专业专业班级班级一、课程设计任务一、课程设计任务( (条件)条件) 、具体技术参数(指标)、具体技术参数(指标) 本课程设计是面向对象程序设计课程的后继教学环节,学好 C+语言就必须坚持用面向对象的思维方式分析问题、解决问题。科研经费管理系统课程设计题目:实现一个简单的科研
3、经费管理系统.系统的主要功能是计算科研经费的使用情况并存档。项目内有 5 种不同类型的经费支出:图书、培训、调研、出差、设备,他们的经费计算方式各不相同。图书按照实际发票金额计算经费;设备是按照实际发票经额计算经费;培训按照培训费用实际支出*人数;出差按照出差的天数支出出差补贴 100/天,调研是培训费+出差补贴科研经费管理系统的设计:对于整个系统的设计思路是,首先,输入编号,支出项;然后,在计算该支出项经费的时候,系统先从已输入的支出项,调用不同的处理程序进行计算;最后将结果存档.从用户需求中,可以发现5种类型的支出项都可以分别设计为一个类。首先,他们都属于支出,因此可以设计一个基类 exp
4、enditure,然后从中派生出 book 类,hardware 类、training 类和 travel 类。从 travel 和 training 中派生出一个 research 类。根据用户需要 expenditure 类应该拥有的属性有:编号,支出项名称,支出项编号。expenditure 类的服务可以包括 info()、 search() 、countPay() 、recordInfo()和 recordPay().其中,info()函数用于接收用户输入的支出信息;search()函数用来根据支出名称查找支出信息;countPay()函数为支出计算函数,但在基类中为空,原因是各类支出
5、项目的计算方法不同,无法在基类中统一定义,必须在派生类中分别定义。recordInfo()函数和 recordPay()函数分别是支出信息和支出经额,分别将信息存入文件 info。txt 和 pay.txt。二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)(1)分析科研经费管理系统程序结构: 画出程序粗略的流程图和各个模块的详细流程图,每个功能模块用文字说明他们的功能(与对应流程图放在一起) ;(2)对你已经实现的功能(修改的、新编写的)做详细的说明, 并附上流程图及程序清单。(3)自己对该科研经费管理系统的进一步设想;(4)对于有设想但最终未实现的功能的大致编程思
6、路的阐述;(5)论述在设计过程中遇到的并且对你具有启发性的问题。(6)严禁抄袭,发现雷同,双方扣分严禁抄袭,发现雷同,双方扣分。三、课程设计工作进度计划:周一白天:教师布置任务,讲解本课设模块。周一晚上:画出主程序粗略的流程图和各个模块的详细流程图。周三:设计程序及调试程序.同时着手写报告。周四:完成设计,提交报告,接受教师考评。四、主要参考资料(1) 面向对象程序设计 ,郑莉,清华大学出版社, (2) 面向对象程序设计 C+语言 ,朱战立等编 西安电子科技大学出版社(3) 面向对象程序设计-Visual C+,刘斌等编, 清华大学出版社 (4)面向对象程序设计-C+语言描述, Richard
7、 Johnsonbaugh(美)等著,蔡宇辉等译,机械工业出版社, 2003 指导教师(签名): 教研室主任(签名): 目录目录1概述概述: .41.1XXXXXX.41。2XXXXXX:.42课题分析课题分析.52.1XXXX.52。2XXXX.53详细设计说明详细设计说明.63。1XXXX.63。2XXX.73.3XXX.74课程设计总结课程设计总结.115软件使用说明软件使用说明.126附录(参考文献附录(参考文献,原代码:)原代码:).12参考文献:.12原代码.121概述概述1。1 基本功能基本功能 实现一个简单的科研经费管理系统。系统的主要功能是计算科研经费的使用情况并存档。(1)
8、可以输入各个支出项的费用、人数和天数等。(2)可以计算支出项费用。(3)可以查找支出项信息。(4)可以将支出项信息保存进文件。1.2 拓展功能拓展功能无2.课题分析课题分析2。1 类的设计类的设计 在这个课程设计中,需要有 6 个类.根据设计任务,设计一个虚基类 expenditure ,然后派生出 book(图书)类,hardware(硬件)类,training(培训)类和 travel(出差)类,从travel 类和 training 类中派生出一个 research(调研)类。 在基类中,除了定义构造函数和析构函数外,还应定义对各类支出项信息应有的操作,这样可以规范类族中各派生类的基本行
9、为.由于各类支出项经费的计算方法不同,在基类中将countpay()定义为纯虚函数,然后在派生类中进行重新定义其具体实现,以便实现运行时的多态性。class expenditureprotected:long number;char name20 ;int pay;public:expenditure();expenditure(); void info();virtual void countpay()=0;int getpay();char *getname() ;void recordinfo();void recordpay() ;long getnumber() ;;class bo
10、ok:public expenditureprivate:int bpay;public:void infor();void countpay();class hardware:public expenditureprivate:int hpay;public: void infor(); void countpay();;class training:virtual public expenditurepublic:int trainpay;int people;void infor();void countpay();;class travel:virtual public expendi
11、turepublic:int day;int travelpay;travel();void infor();void countpay();class research:public training,public travelpublic:void countpay();void infor();;2。2 类的实现类的实现通过构建变量和函数来体现该类的属性。根据用户需要 expenditure 类应该拥有的属性有:编号,支出项名称,支出项编号.expenditure 类的服务可以包括 info() 、 search() 、countPay()、recordInfo()和recordPay(
12、)。其中,info()函数用于接收用户输入的支出信息;search()函数用来根据支出名称查找支出信息;countPay()函数为支出计算函数,但在基类中为空,原因是各类支出项目的计算方法不同,无法在基类中统一定义,必须在派生类中分别定义.recordInfo()函数和 recordPay()函数分别是支出信息和支出经额,分别将信息存入文件 info.txt 和pay。txt。#includeiostream#includefstreamincludeusing namespace std;expenditure:expenditure()expenditure:expenditure()vo
13、id expenditure:info()coutnumber;coutname;long expenditure::getnumber()return number;int expenditure::getpay()return pay;char expenditure:getname()return name;void expenditure:recordinfo()ofstream file(”info.txt,ios::app);file编号:numberendl;file名称:” nameendlendl;file.close();void expenditure:recordpay
14、()ofstream file(pay。txt”,ios:app);file”编号:” numberendl;file名称:”nameendl;file”费用:”payendlendl;file。close();void book::infor()coutbpay;void book:countpay()pay=bpay;void hardware:infor()cout请输入设备的发票金额:” ;cin hpay;void hardware::countpay()pay=hpay;void training::infor()couttrainpay;coutday;void travel:c
15、ountpay()pay=travelpay*day;void research::infor()couttrainpay;coutpeople;coutday;void research:countpay()pay=trainpay*people+100*day;函数设计说明:Info()输入函数,输入编号,名称Infor()-输入各个类不同的信息Countpay()-计算支出费用Recordinfo()-保存编号,名称Recordpay()保存编号,名称,支出费用Search()查询信息的函数3.详细设计说明详细设计说明对于整个系统的设计思路是,首先,输入编号,支出项;然后,在计算该支出项
16、经费的时候,系统先从已输入的支出项,调用不同的处理程序进行计算;最后将结果存档。随后可在查询功能里面找寻已保存的资料信息。3.1 界面界面 程序实现及解析如下:点击运行,出现主界面选择要输入的支出项查询正确的支出项名称时所显示出的运行结果查询错误的支出项名称时所显示出的运行结果退出程序3。2 方案方案 算法:本程序主要是对不同支出项经费的计算。图书:费用=实际发票金额设备:费用=实际发票金额培训:费用=培训费用实际支出人数出差:费用=出差的天数出差补贴 100/天调研:费用=培训费+出差补贴3.3 程序描述程序描述运行程序-主菜单-输入选择数字-利用 if 语句调用相应的函数-输入 1-调用
17、info()函数-输入选择数字调用相应的输入函数和 save()函数-是否继续输入(y/n)输入 n-输入选择数字输入 0-主菜单-输入 2-调用search()函数费用的编号和支出项的编号都是长整型的,费用的支出项名称是字符型的。具体的基类和派生类的定义:具体的基类和派生类的定义:Expenditure 类重要函数:expenditure()expenditure()void info()virtual void countpay()=0book 类重要函数:void infor()void countpay()hardware 类重要函数:void infor()void countpay
18、()training 类重要函数:void infor()void countpay()travel 类重要函数:travel()void infor()void countpay()salesmanager 类重要函数:void countpay(training &m,travel &n)void countpay()主程序流程图:主程序流程图:主菜单添加菜单查询菜单设备培训出差调研存储信息到文件图书输入 i输入 i结束继续?继续?添加信息YN输入支出项名称显示支出项信息输入信息不正确NY3。4 限制条件限制条件 本程序用户添加的各个职位的人员最多只能是 18 个。4。课程设计总结。课程设计总结这次的课程设计使我更清楚地认识到每个类的作用。起初,对文件和指针的使用运用不太好,但是最后都得到初步解决。本程序综合性非常强,由于我们对使用 C+设计程序的能力还不是很熟练,所以在设计时非常吃力。在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赠与汽车收回协议书
- led屏幕安装协议书
- 车祸纠纷解决协议书
- 财务成本管理与逻辑思维的交融试题及答案
- 数据库高可用性设计试题及答案
- 护理法律考试题目及答案
- 计算机二级Msoffice考试复习思路试题及答案
- 培养能力的计算机二级公共试题及答案
- Delphi语言基础训练题试题及答案
- 工会法律测试题及答案
- 西南交11春学期《模拟电子技术A》离线作业
- 施工单位平安工地考核评价表(标准)
- 建筑材料分类整理
- 人民币发展史-课件(PPT演示)
- 经历是流经裙边的水
- 工作票培训-课件
- 骨科疾病的康复课件
- 三氯乙醛 氯醛MSDS危险化学品安全技术说明书
- 合作社贷款申请书范文(优选十三篇)
- 产品平台与CBB技术管理课件
- 学院学生纪律处分登记表
评论
0/150
提交评论