一功能:
某单位各部门有一个属于自己部门的帐号,每个部门的帐户有存储可供自己处理的经费,同时各部门外,单位统一设立可供各部门共享的经费的帐户,该帐户不属于任何部门,属于单位。平时各部门金额在进帐时必须缴纳5%的经费给单位的共享帐户,如果各部门在的帐户里自己经费金额小于1万时可向共享帐户申请共享经费的5%的费用。当共享帐户里的经费少于10万元时,拒绝各部门帐户申请共享经费。
1. 程序界面设计:
在一个界面中定义两个该类的对象,代表该单位的两个部门。
1) 界面显示:
三个组合框,上面一个组合框显示类的共享帐号经费;下面并列两个组合框分别显示两个部位帐号的经费,经费下方有三个按钮,分别为存钱、消费和申请共享经费按钮。如图所示:(部门1和部门2可以自己另起名称,如财务处,教务处,人事处,数理系。
2) 按钮功能。
点击以上各按钮时,打开相应对话框,接受存钱、消费和申请经费的金额,确认后,分别实现其功能。
二要求:1)用构造函数初始化各对象帐户金额,共享经费初始化为零。
2)帐户可以向金额里存钱,存钱时要上缴5%给共享帐户。
3)帐户可以取钱消费,但不得透支。
5)实现以上功能函数,可按规则自行取名,函数名后用注释标明函数功能。
6)所有函数不管操作成功或失败(被拒绝)均需给出提示!
一功能设计:
如图所示:此系统的目的是要建立一个共享账户为两个本门共享,另外这两个部门分别有自己的账户,共享账户的作用是在某一个部门资金缺乏时,为其提供资金支持,当然,共享账户在部门受益时也需收到部门资金的补充。
二详细设计过程
首先先打开visualc++6.0 创建一个工程,如图所示:
然后选择一个基本对话框的工程:
点击“完成”即可!
于是一些基础的项目就建立完成了。接下来开始设计对话框。分别加入一些静态文本、编辑框、组框、按钮等控件:
完成基本对话框的设计,如图所示:
接下来就是对这个对话框建立一个类向导,对其中的数据成员和按钮分别对应一个个的标识符映射到内存中,由此可以利用updatedata(true)、和updatedata(false)函数实现控件中的数据和内存中的数据的映射,以此实现如何把写入对话框控件里面的数值反映到内存中,经过在程序中的运算以后再反映到控件中。
如图所示:然后分别建立一个新类moneykk,然后对moneykk类的头文件进行一些数据成员和成员函数的定义,**如下:
class moneykk
public:
double static amm;
moneykk();
virtual ~moneykk();
void s**e(double);
bool cost(double);
bool share();
double getsmm();
protected:
double smm;
申明一个共有静态的数据成员amm;为两个部门账户共享经费。申明一个smm数据成员,为每一个部门的各自账户,申明s**e函数,对钱进行存储,申明cost函数对钱进行支出,申明share函数,从共享账户里面分享资金。申明一个getsmm函数在其他程序中可以对保护数据成员smm进行显示。
下面在moneykk类的cpp文件中对这些函数实现,**如下:
double moneykk::amm=0.0;
moneykk::moneykk()
smm=0.0;
moneykk::~moneykk()
void moneykk::s**e(double a)
amm+=a*0.05;
smm+=a*0.95;
bool moneykk::cost(double b)
if(b>smm)
return false;
elsebool moneykk::share()
if(amm>100000.0&&smm<10000.0)
else return false;
double moneykk::getsmm()
return smm;
接下来是设计一个新的对话框响应在基本对话框中点击按钮时弹出,可以在其中填入一个支出、存储的金额,并实现两个对话框之间值的传递。
设计弹出对话框如图:
为其建立一个类display1.其数据成员是m_money.
对其的确定按钮写入**如下:
void display1::onok()
// todo: add extra validation here
updatedata(true);
cdialog::onok();
这样实现了:在这个对话框输入的数据存入内存m_money 中。于是可以在其他的cpp文件中对其调用。
完成以后在文件中对m_money1、m_money2、m_amoney 赋值,**如下:
csjndlg::csjndlg(cwnd* pparent /*null*/)
: cdialog(csjndlg::idd, pparent)
//}afx_data_init
// note that loadicon does not require a subsequent destroyicon in win32
m_hicon = afxgetapp()-loadicon(idr_mainframe);
然后在基本对话框类的头文件中写入这个类的保护子对象:
moneykk k1,k2;
完成以后就要在文件里面对基本对话框的六个按钮函数实现,**如下:
void csjndlg::oncost1()
// todo: add your control notification handler code here
display1 dlg;
if(else
messagebox("不成功",mb_ok);
void csjndlg::oncost2()
// todo: add your control notification handler code here
display1 dlg;
if(else
messagebox("不成功",mb_ok);
void csjndlg::ons**e1()
// todo: add your control notification handler code here
display1 dlg;
m_amoney =moneykk::amm;
m_money1 =
m_money2 =
updatedata(false);
messagebox("成功",mb_ok);
void csjndlg::ons**e2()
// todo: add your control notification handler code here
display1 dlg;
m_amoney =moneykk::amm;
m_money1 =
m_money2 =
updatedata(false);
messagebox("成功",mb_ok);
void csjndlg::onshare1()
// todo: add your control notification handler code here
if(else
messagebox("不成功",mb_ok);
void csjndlg::onshare2()
// todo: add your control notification handler code here
if(else
messagebox("不成功",mb_ok);
每个函数处理以后都要用。
m_amoney =moneykk::amm;
m_money1 =
m_money2 =
**把处理结果反映到m_amoney、m_money1、m_money2中,并用updatedata(false);函数把它们映射到控件中。
完成以后,在相应的文件中添加对应的头文件。
#include ""
C 课程设计
自动走迷宫小游戏。根据课堂讲授内容,做相应的自主练习,消化课堂所讲解的内容 通过调试典型例题或习题积累调试c 程序的经验 通过完成辅导教材中的编程题,逐渐培养学生的编程能力 用计算机解决实际问题的能力。同时在设计的过程中发现自己的不足之处,对以前所学过的知识理解的更加深刻,掌握得更加牢固。迷宫生成。...
c 课程设计
哈尔滨 课程设计报告。课程 c 学号 姓名 班级 教师 1.管理系统的功能说明。课程信息管理 能够增加数据,删除数据,显示数据,修改数据,按姓名和首字母查询数据和一些基本的程序功能。2.存储数据的描述。coursenumber 课程号coursename 课程名subject 所属专业xingzhi...
C课程设计
面向对象程序设计课程设计。一 设计要求。1 课程设计以3 4人为一组,每人一个模块 2 课程设计时间为1周 在处理系统的时候,要从分析系统的需求入手,根据系统需求进行详细分析,明确系统功能,然后设计系统整体架构以及划分系统模块,按照模块分配小组中每个组员的具体任务,完成设计。二 系统设计规范。1 命...