科研经费管理系统的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计2009 ~ 2010学年第一学期

设计题目《面向对象程序设计》课程设计

院(系)计算机科学与信息工程学院

专业计算机科学与技术

班级学号

学生姓名

设计时间2010年 1 月 25 日-- 1 月 29 日指导教师

提交日期 2010年1月29日

上海应用技术学院课程设计任务书

指导教师(签名):教研室主任(签名):

目录

1概述: .................................................................................. 错误!未定义书签。

1.1XXXXXX............................................... 错误!未定义书签。

1.2XXXXXX:............................................. 错误!未定义书签。2课题分析 .............................................................................. 错误!未定义书签。

2.1XXXX ................................................ 错误!未定义书签。

2.2XXXX ................................................ 错误!未定义书签。3详细设计说明 ...................................................................... 错误!未定义书签。

3.1XXXX ................................................ 错误!未定义书签。

3.2XXX................................................. 错误!未定义书签。

3.3XXX................................................. 错误!未定义书签。4课程设计总结 ...................................................................... 错误!未定义书签。5软件使用说明 ...................................................................... 错误!未定义书签。6附录(参考文献,原代码:) ............................................ 错误!未定义书签。参考文献:................................................ 错误!未定义书签。原代码 ................................................... 错误!未定义书签。

1.概述

1.1基本功能

实现一个简单的科研经费管理系统。系统的主要功能是计算科研经费的使用情况并存档。

(1)可以输入各个支出项的费用、人数和天数等。

(2)可以计算支出项费用。

(3)可以查找支出项信息。

(4)可以将支出项信息保存进文件。

1.2拓展功能

2.课题分析

2.1类的设计

在这个课程设计中,需要有6个类。根据设计任务,设计一个虚基类expenditure ,然后派生出book(图书)类,hardware(硬件)类,training(培训)类和travel(出差)类,从travel类和training类中派生出一个research(调研)类。

在基类中,除了定义构造函数和析构函数外,还应定义对各类支出项信息应有的操作,这样可以规范类族中各派生类的基本行为。由于各类支出项经费的计算方法不同,在基类中将countpay()定义为纯虚函数,然后在派生类中进行重新定义其具体实现,以便实现运行时的多态性。

class expenditure

{

protected:

long number;

char name[20];

int pay;

public:

expenditure();

~expenditure();

void info();

virtual void countpay()=0;

int getpay();

char *getname();

void recordinfo();

void recordpay();

long getnumber();

};

class book:public expenditure

{

private:

int bpay;

public:

void infor();

void countpay();

};

class hardware:public expenditure

{

private:

int hpay;

public:

void infor();

void countpay();

};

class training:virtual public expenditure

{

public:

int trainpay;

int people;

void infor();

void countpay();

};

class travel:virtual public expenditure

{

public:

int day;

int travelpay;

travel();

void infor();

void countpay();

};

class research:public training,public travel

{

public:

void countpay();

void infor();

};

2.2类的实现

通过构建变量和函数来体现该类的属性。

根据用户需要expenditure类应该拥有的属性有:编号,支出项名称,支出项编号。expenditure类的服务可以包括info()、search()、countPay()、recordInfo()和recordPay ()。其中,info()函数用于接收用户输入的支出信息;search()函数用来根据支出名称查找支出信息;countPay()函数为支出计算函数,但在基类中为空,原因是各类支出项目的计算方法不同,无法在基类中统一定义,必须在派生类中分别定义。recordInfo()函数和recordPay()函数分别是支出信息和支出经额,分别将信息存入文件info.txt和pay.txt。

#include

#include

相关文档
最新文档