C++课程设计-银行提款机系统.doc_第1页
C++课程设计-银行提款机系统.doc_第2页
C++课程设计-银行提款机系统.doc_第3页
C++课程设计-银行提款机系统.doc_第4页
C++课程设计-银行提款机系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计报 告 课程名称: c+课程设计 班 级: 学 号: 姓 名: 完成日期: 14课设任务书专业名称:计算机科学与技术(软件工程) 课程名称:面向对象程序设计与c+ 设计题目:银行提款机系统起止时间:2009年 6月15日至2008年6月26日问题描述模仿银行存款与提款过程,实现人机交互操作方式,可进行存款提款操作,余额查询,存提款记录查询。基本要求(1) 要求有用户登陆验证功能,根据不同的用户权限,实现不同的功能。(2) 普通帐户,支持的操作包括存款、提款、余额查询、存提款记录查询,汇率换算功能。(3) 管理员帐户,支持普通帐户的所有功能,支持添加删除普通帐户功能、汇率设置、利息设置、查看其他帐户存提款记录功能。(4) 要求用面向对象的方式进行设计。实现提示可以设计两个主类,user class (普通帐户类)和atm class (自动存款机类),admin_user class (管理员帐户类)继承user class,以实现普通用户的所有功能。在atm class中设计存款机操作接口。帐户信息记录,可采用读写文件的方式进行存储。选作内容根据用户存款额的多少对利息进行调整,达到30万利息乘以1.2、达到50万利息乘以1.5、要求界面美观。学生姓名: 学号:指导教师: 2009年06月19日银行提款机系统1概要设计(1)、系统的介绍:该系统为银行提款机系统,实验要求模仿银行自动提款机存款与提款过程。实现人机交互操作方式。(2)、对客户需求的分析:用户需要选择权限,即选择管理员用户还是普通用户。还需要进行用户身份验证,根据不同的用户权限,实现不同的功能。普通用户支持存款,提款,余额查询, 存提款记录查询,汇率换算等操作。管理员用户支持普通用户的所有功能外,还支持添加删除普通用户功能、汇率设置、利息设置、查看其他用户存提款记录功能。(3)、模块图: 2详细设计一、数据类型:首先需要定义三个类,因为是银行提款机系统,需要信息的保密性,而类正好具有这一特性,将数据定义为私有,保证了用户信息的保密性。具体情况如下:class user /声明一个类,类名为user 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 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(); / 公有成员函数(添加帐户)void deletmember(); / 公有成员函数(删除帐户)admin_user(char *m); / 公有成员函数admin_user(); / 构造函数virtual admin_user(); / 析构函数;此为管理员帐户,它继承了普通帐户的所有功能,又class atm /声明一个类,类名为atmdouble tax; /存放利率,私有变量public:atm(); /构造函数virtual atm(); /析构函数此类为自动存款机类,存放利率,设计存款机操作接口.二、模块的具体分析:(1)权限选择分析:权限选择,即为让用户选择进入管理员帐户还是普通账户。关键代码:void 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,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,money); /将取得钱写入文件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;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)帐户管理:分析:此模块分为添加账户和删除账户。关键代码:void 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);流程图:(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管理员模式,则根据提示依次输入用户名和密码,进行登录身份验证,如图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+知识的更好的理解与巩固,我自己深知自己掌握的知识还不够牢固,对c+理解的不够透彻,但这丝毫不会影响我要努力把c+学好的决心,或许我学的不快,但我有耐心也有信心。或许我不够聪明,但我会坚持勤能补拙。或许有时我不被理解,但我不会放弃,一遍学不会那就两遍三遍直到学会为止。到什么时候知识都是自己的。 我觉得这次课程设计给我最大的收获就是让我找到了今后前进努力的方向。或许以前的我还在为今后的生活目标工作方向所迷茫,但看到了那么多优秀的指导老师,只比我们大四五岁,却将c+运用得那么透彻,对于编程那么驾轻就熟。使得我更加坚定了自己学习计算机的决心,我从不后悔自己做的任何决定,我积极参加各项活动来锻炼自己的能力,面对挫折面对困难,我都会很好的调整自己,在外人面前永远展现光鲜的自己,不得不承认我是一个很要强但从不强求任何事的人,所以在本次课程设计面对着毫无头绪的程序的时候,我也曾偷偷流眼泪,着急生气自己对知识掌握得不透彻,深感自己的努力不够,人的精力确实有限,既然决定了要锻炼自己的工作以及其它方面的能力,还要在学习上严格要求自己就要比别人加倍的努力,平时对课程一点一滴的理解积累,对于课程设计是非常重要的,我一直都坚信只要想学习,什么时候都不算晚,想让别人尊重自己看得起自己的最好方法,不是去改变别人,而是去改变自己,让自己的技术过应。 我课程设计的题目是银行提款机系统,主要就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论