C++课程设计-银行提款机系统.doc

上传人:西安人 文档编号:5014001 上传时间:2020-01-28 格式:DOC 页数:12 大小:217.50KB
返回 下载 相关 举报
C++课程设计-银行提款机系统.doc_第1页
第1页 / 共12页
C++课程设计-银行提款机系统.doc_第2页
第2页 / 共12页
C++课程设计-银行提款机系统.doc_第3页
第3页 / 共12页
C++课程设计-银行提款机系统.doc_第4页
第4页 / 共12页
C++课程设计-银行提款机系统.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C++课程设计-银行提款机系统.doc》由会员分享,可在线阅读,更多相关《C++课程设计-银行提款机系统.doc(12页珍藏版)》请在三一文库上搜索。

1、课 程 设 计报 告 课程名称: C+课程设计 班 级: 学 号: 姓 名: 完成日期: 14课设任务书专业名称:计算机科学与技术(软件工程) 课程名称:面向对象程序设计与C+ 设计题目:银行提款机系统起止时间:2009年 6月15日至2008年6月26日问题描述模仿银行存款与提款过程,实现人机交互操作方式,可进行存款提款操作,余额查询,存提款记录查询。基本要求(1) 要求有用户登陆验证功能,根据不同的用户权限,实现不同的功能。(2) 普通帐户,支持的操作包括存款、提款、余额查询、存提款记录查询,汇率换算功能。(3) 管理员帐户,支持普通帐户的所有功能,支持添加删除普通帐户功能、汇率设置、利息

2、设置、查看其他帐户存提款记录功能。(4) 要求用面向对象的方式进行设计。实现提示可以设计两个主类,USER Class (普通帐户类)和ATM Class (自动存款机类),ADMIN_USER Class (管理员帐户类)继承USER Class,以实现普通用户的所有功能。在ATM Class中设计存款机操作接口。帐户信息记录,可采用读写文件的方式进行存储。选作内容根据用户存款额的多少对利息进行调整,达到30万利息乘以1.2、达到50万利息乘以1.5、要求界面美观。学生姓名: 学号:指导教师: 2009年06月19日银行提款机系统1概要设计(1)、系统的介绍:该系统为银行提款机系统,实验要求

3、模仿银行自动提款机存款与提款过程。实现人机交互操作方式。(2)、对客户需求的分析:用户需要选择权限,即选择管理员用户还是普通用户。还需要进行用户身份验证,根据不同的用户权限,实现不同的功能。普通用户支持存款,提款,余额查询, 存提款记录查询,汇率换算等操作。管理员用户支持普通用户的所有功能外,还支持添加删除普通用户功能、汇率设置、利息设置、查看其他用户存提款记录功能。(3)、模块图: 2详细设计一、数据类型:首先需要定义三个类,因为是银行提款机系统,需要信息的保密性,而类正好具有这一特性,将数据定义为私有,保证了用户信息的保密性。具体情况如下:class USER /声明一个类,类名为USER

4、 char *name; /定义私有变量public:USER(char* p,char*m1); /公有成员函数USER(); /成员函数virtual USER(); /析构函数void look(char *p,int back); /公有成员函数(查询余额)void sethuilv(); /公有成员函数(查询利率)int Pdenglu(USER user ,char *p2,int back); /公有成员函数(普通账户登录)int inport(unsigned long double money,char *p1); /公有成员函数(存款)int export(unsigned

5、 long double money,char *p); /公有成员函数(提款)void remember(char *p); /公有成员函数(消费记录查询)void looktax(); /公有成员函数(汇率查询);此为普通帐户类,可以完成存款,提款,余额查询,汇率查询,查询交易记录等功能 。class ADMIN_USER:public USER /声明一个类,类名为ADMIN_USER /ADMIN_USER继承USER char *name; /定义私有变量public:void set(); / 公有成员函数(设置利率)void addmember(); / 公有成员函数(添加帐户)

6、void deletmember(); / 公有成员函数(删除帐户)ADMIN_USER(char *m); / 公有成员函数ADMIN_USER(); / 构造函数virtual ADMIN_USER(); / 析构函数;此为管理员帐户,它继承了普通帐户的所有功能,又class ATM /声明一个类,类名为ATMdouble tax; /存放利率,私有变量public:ATM(); /构造函数virtual ATM(); /析构函数此类为自动存款机类,存放利率,设计存款机操作接口.二、模块的具体分析:(1)权限选择分析:权限选择,即为让用户选择进入管理员帐户还是普通账户。关键代码:void

7、selet(ADMIN_USER admin,int back) /选择权限int i;cout 欢迎使用中国银行自动提款机 endl;cout *endl;cout* 请选择登陆模式 * endl; cout* 1 管理员模式 *endl;cout* 2 普通用户模式 *endl; cout* 3 退出 *endl; cout*”i;流程图:(2)验证登录分析:此模块分为管理员帐户登录身份验证,以及普通账户登录身份验证。关键代码:int denglu(char*name1,char *mima1,ADMIN_USER admin,int back) /管理员帐户登陆 char name232

8、,mima232; /定义变量coutname2; /输入用户名coutmima2; /输入密码if (strcmp(name1,name2) = 0 &strcmp(mima1,mima2) = 0) /将输入的信息与管理员帐户信息比较 cout*管理员登录成功*endl; else cout*管理员登陆失败*=money)money2 = money2 - money; /写文件 FILE *p1 = fopen(p,w); /以写的方式打开文件 fputs(mima,p1); /得到密码fprintf(p1,%lfn,money2); /将余额写入文件fprintf(p1,%lf,mon

9、ey); /将取得钱写入文件fclose(p1);/关闭文件return 0;elsecout对不起您的余额不足endl;return 2;流程图:(5)查询信息分析:此模块分为查询余额、查询利率、查询汇率三个部分。关键代码:void USER:remember(char *p1) /余额查询unsigned long double money2 = 0; /定义变量char mima32;FILE *p = fopen(p1,r); /读文件fgets(mima,32,p); /得到密码fscanf(p,%lf,&money2); /得到余额cout(您的余额money2)endlendl;

10、fclose(p); /关闭文件void USER:sethuilv() /查询利率double a;FILE *p = fopen(ATM.txt,r); /读文件fscanf(p,%lf,&a); /读出利率cout当前利率为:aendlendl;void USER:looktax() /查询汇率char tax100;FILE *p1 = fopen(huilv.txt,r); /以只读的方式打开文件while(fgets(tax,100,p1)couttaxendl; /读出汇率fclose(p1); /关闭文件流程图:(6)帐户管理:分析:此模块分为添加账户和删除账户。关键代码:vo

11、id ADMIN_USER:addmember() /添加账户char number32; /定义变量char a100;char m7; couta; coutm; /输入密码USER number1(a,m); /定义类USER的对象,a为用户名,m为密码void ADMIN_USER:deletmember() / 删除账户char a32;couta;strcat(a,.txt);FILE *p=fopen(a,r);if (p = NULL)cout *没有要删除的对象*endl;elsecout *要删除的对象已被成功删除*endl;fclose(p);remove(a);流程图:

12、(7)设置信息分析:此模块为设置利率。关键代码:void ADMIN_USER:set() / 设置利率double tax;couttax;FILE *p1 = fopen(ATM.txt,w);fprintf(p1,%lf,tax);fclose(p1);流程图:3调试报告(1)、在文件读写的地方总爱出问题,比如数据读进去了,却写不出来。或者是根本没读进去。(2)、在添加账户的地方出错,是因为没有定义类的对象USER number1(a,m)。4测试结果(1)我给管理员以及普通账户赋的初值全为零,所以5 使用说明(1)首先出现选择权限的交互界面,如选择1管理员模式,则根据提示依次输入用户名

13、和密码,进行登录身份验证,如图1.1;如选择2普通账户模式,则根据提示依次输入用户名和密码,进行登录身份验证,如下图1.2:图1.1图1.2(2)若通过身份验证,则登录成功,如图2.1;若没有通过身份验证,则登录失败,如图2.2:图2.1图2.2(3)输入1,则进入存款功能,根据提示输入要存的金额,则存款即完成,如下图3.1和图3.2:图3.1图3.2(4)其他功能同上,根据提示,就会完成操作,很容易操作,浅显易懂。6总结 时间过得很快,转眼间大二下学期也接近尾声,这已经是我第三次作课程设计了,我对本次C+课程设计也有了自己更深的理解,C+课程设计是对C+知识的更好的理解与巩固,我自己深知自己

14、掌握的知识还不够牢固,对C+理解的不够透彻,但这丝毫不会影响我要努力把C+学好的决心,或许我学的不快,但我有耐心也有信心。或许我不够聪明,但我会坚持勤能补拙。或许有时我不被理解,但我不会放弃,一遍学不会那就两遍三遍直到学会为止。到什么时候知识都是自己的。 我觉得这次课程设计给我最大的收获就是让我找到了今后前进努力的方向。或许以前的我还在为今后的生活目标工作方向所迷茫,但看到了那么多优秀的指导老师,只比我们大四五岁,却将C+运用得那么透彻,对于编程那么驾轻就熟。使得我更加坚定了自己学习计算机的决心,我从不后悔自己做的任何决定,我积极参加各项活动来锻炼自己的能力,面对挫折面对困难,我都会很好的调整

15、自己,在外人面前永远展现光鲜的自己,不得不承认我是一个很要强但从不强求任何事的人,所以在本次课程设计面对着毫无头绪的程序的时候,我也曾偷偷流眼泪,着急生气自己对知识掌握得不透彻,深感自己的努力不够,人的精力确实有限,既然决定了要锻炼自己的工作以及其它方面的能力,还要在学习上严格要求自己就要比别人加倍的努力,平时对课程一点一滴的理解积累,对于课程设计是非常重要的,我一直都坚信只要想学习,什么时候都不算晚,想让别人尊重自己看得起自己的最好方法,不是去改变别人,而是去改变自己,让自己的技术过应。 我课程设计的题目是银行提款机系统,主要就是用到有关类的相关知识,在编程的过程中要了解继承的概念,还要了解文件读写的基本知识,构造函数的深拷贝浅拷贝,以及析构函数的相关知识。一个类是由一批数据以及对其操作的函数组成的。类可以体现数据的封装性和信息隐蔽。因此用类来实现银行提款机系统最好不过了,再利用文件来存放每一个账户的信息,方便读取查找。题目不算难,但在编写的过程中也遇到不少困难,在这里要感谢帮助过我的老师和同学,成绩:预习报告 分,系统 分,课设报告 分,总分 分,总评: 评语:批阅教师签字: 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1