




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实训项目报告书项目名称: 银行综合业务储蓄平台 c+版年级班级: 项目完成人: 实训时间: 2012年 7月 5日至 2012 年7 月 9 日填 表 说 明一、本表由项目完成人填写,一式一份;二、实训结束前将填好的文稿打印后交实训指导教师进行鉴定和评定成绩,确认后的文档交院校存档保存;三、此表电子文档及学生项目实训的作品须打包存档,压缩文件包以学生学号命名,以班为单位收集,刻录光盘交院校存档;- 17 -实训项目名称银行综合业务储蓄平台 c+版项目组成员及其分工姓名分工情况承担的主要工作一 需求分析登陆退出开户 销户 查询 存款 取款 转账二 概要设计banklinklist * listvoid openaccount();void closeaccount();void deposit();void withdraw();void findaccount();void transaccount();linklistnode * headrecordint number;string username;string password;double balance;int flag;noderecord *record;node *next;三 详细设计linklist();linklist();void sethead(node * head);node * gethead();node *makenode(record * record);void insertnode(node * node);node * findnode(int number);void display(); node * head;linklist noderecordrecord *record; node *next;int number;string username;string password;double balance;int flag;node();node();void setrecord(record *record);void setnext(node *next);record * getrecord();node * getnext();void display();record();void setnumber(int number);void setusername(string username);void setpassword(string password);void setbalance(double balance);void setflag(int flag);int getnumber();string getusername();string getpassword();double getblance();int getflag();void display();banklinklist * list;int accoutnumber;bank();bank();void setlist(linklist * list);linklist * getlist();int getaccountnumber();linklist * makelinklist();record*makerecord(string usernumber, string password, double balance);int creataccountnumber();int getnumber();string getusername();string getpassword();double getbalance();record * findrecord(int accountnumber);void openaccount();void closeaccount();void deposit();void withdraw();void findaccount();void transaccount();p=headp!=null head=nodep-next=nullp-next=nodep=p-nextendstart四 编码实现record:record()this-number = 0;this-username = ;this-password = ;this-balance = 0.0;this-flag = -1;void record:setnumber(int number)this-number = number;void record:setusername(string username)this-username = username;void record:setpassword(string password)this-password = password;void record:setbalance(double blance)this-balance = blance;void record:setflag(int flag)this-flag = flag;int record:getnumber()return this-number;string record:getusername() return this-username;string record:getpassword()return this-password;double record:getblance()return this-balance;int record:getflag()return this-flag;void record:display()coutprint record elements.endl;coutnumber:numberendl; coutusername:usernameendl;coutpassword:passwordendl;coutblalance:balanceendl;coutflag:flagendl;coutend of record.endl;record.h#ifndef header_record#define header_record#include using namespace std;class recordprivate:int number;string username;string password;double balance;int flag;public:record();void setnumber(int number);void setusername(string username);void setpassword(string password);void setbalance(double balance);void setflag(int flag);int getnumber();string getusername();string getpassword();double getblance();int getflag();void display();#endifrecord.cpp#includerecord.h#includeusing namespace std;record:record()this-number = 0;this-username = ;this-password = ;this-balance = 0.0;this-flag = -1;node.cpp#includenode.h#includeusing namespace std;node:node()this-record=null;this-next=null;node:node()delete this-record; /this-record=null;this-next = null;void node:setrecord(record *record)this-record = record;void node:setnext(node *next)this-next = next;node * node:getnext()return this-next;record * node:getrecord()return this-record;void node:display()coutprint node elements.endl;/coutrecordrecordrecord = null)coutthe elements of record is nullrecord-display(); /输出this-record对象指针所指向coutnext:nextendl;coutend of node.head;node * linklist:makenode(record * record)node * node = new node();node-setrecord(record);node-setnext(null);return node;void linklist:insertnode(node *node)node * p = this-head; /p指向头结点if (p = null) /判断头结点是否为空,如果为空,node即为头节点this-head = node;else /否则链表不为空while (p-getnext() != null) /p指向链表中最后一个节点p = p-getnext();p-setnext(node); /将node链接到最后一个节点后面node * linklist:findnode(int number)node * p = this-head;while (p != null)if (p-getrecord()-getnumber() = number)return p;elsep = p-getnext();return p;void linklist:display()node * p = this-head;linklist.h#ifndef header_linklist#define header_linklist#include node.hclass linklistprivate: node * head;public:linklist();linklist();void sethead(node * head);node * gethead();node *makenode(record * record); /根据账户指针record创建链表节点void insertnode(node * node); /将node指针指向的节点插入到链表node * findnode(int number); /根据账号在链表中查找节点void display(); /显示链表; #endif linklist.cpp#includelinklist.h#includeusing namespace std;linklist:linklist()this-head = null;linklist:linklist()node * p, * q;p = this-head;while (p != null)q = p-getnext();delete p;p = q;this-head = null; void linklist:sethead(node * head)this-head = head; bank.cpp#include bank.h#includeusing namespace std;bank:bank()this-list = this-makelinklist();this-accoutnumber = 10000;bank:bank()delete this-list;this-list = null;void bank:setlist(linklist * list)this-list = list;linklist * bank:getlist()return this-list;int bank:getaccountnumber()return this-accoutnumber;linklist * bank:makelinklist()linklist * list = new linklist();return list;record * bank:makerecord(string username, string password, double balance)record * record = new record();int number = this-creataccountnumber();record-setnumber(number);record-setusername(username);record-setpassword(password);record-setbalance(balance);record-setflag(1);return record;int bank:creataccountnumber()this-accoutnumber = this-accoutnumber +1;return this-accoutnumber;coutprint linklist elements.endl;if (p = null)coutthis linklist is null.display();p = p-getnext();coutend of linklist.endl;coutgetpassword();double balance = this-getbalance();record * record = this-makerecord(username, password, balance);/显示账户信息record-display();/将账户插入到链表node * node = this-list-makenode(record);this-list-insertnode(node);/显示开户成功coutopen an account succeed.list-findnode(accountnumber);if(node != null)return node-getrecord();elsereturn null;void bank:closeaccount()/获取用户输入的销户账号int number = this-getnumber();/根据账号查找账户record * record = this-findrecord(number);if(record != null)/获取用户输入密码string password = this-getpassword();if(password = record-getpassword()/判断账户状态if(record-getflag() != 0)/修账户状态record-setflag(0);int bank:getnumber()int number;coutplase input number.number;cout your number:numberendl;return number;string bank:getusername()string username = ;coutplase input username.username;coutyour usernameusernameendl;return username;string bank:getpassword()string password = ;coutplase input password.password;coutyour passwordpasswordendl;return password;double bank:getbalance()double balance = 0.0;coutplase input balance.balance;coutyour balancebalancegetusername();elsecoutpassword error.endl;elsecoutnot found.getnumber();/根据账号查找账户record * record = this-findrecord(number);if(record != null)/获取用户输入密码string password = this-getpassword();if(password = record-getpassword()/判断账户状态if(record-getflag() != 0)/修改账户金额double balance = this-getbalance();if(record-getblance() = balance)record-setbalance(record-getblance() - balance);record-display();elsecoutnot enough.endl;elsecoutthe flag is 0.display();elsecoutthe flag is 0.endl;elsecoutpassword error.endl;elsecoutnot found.getnumber();/根据账号查找账户record * record = this-findrecord(number);if(record != null)/获取用户输入密码string password = this-getpassword();if(password = record-getpassword()/判断账户状态if(record-getflag() != 0)/修改账户金额double balance = this-getbalance();record-setbalance(record-getblance() + balance);record-display();elsecoutthe flag is 0.endl;main.cpp#include bank.h#include using namespace std;void login(bank * bank);void mainmenu(bank * bank);void mainmenu(bank * bank)int choice = -1;docout endl;cout 0 exit.endl;cout 1 open accountendl;cout 2 find accountendl;cout 3 close accountendl;cout 4 depositendl;cout 5 withdraw choice;switch (choice)case 0:exit (0);case 1:bank-openaccount();break;case 2:bank-findaccount();break;case 3:bank-closeaccount();break;case 4:bank-deposit();break;case 5:bank-withdraw();break;default:cout error. endl;while(true); void login(bank * bank)string adminusername;string adminpassword;cout please input admin username.adminusername;elsecoutpassword error.endl;elsecoutnot found.getnumber();/根据账号查找账户record * record = this-findrecord(number);if(record != null)/获取用户输入密码string password = this-getpassword();if(password = record-getpassword()/显示账户信息record-display();elsecoutpassword error.endl;elsecoutnot found.display();record-setnumber(10001);record-setusername(jone);record-setpassword(123456);record-setbalance(1000.00);record-setflag(1);record-display();return 0;cout please input admin password.adminpassword;for(int i = 1;i = 3;i +)if(adminusername = admin & adminpassword = admin)mainmenu(bank);elseif (i 2)cout please input admin username.adminusername;cout please input admin password.adminpassword;continue;elsecout sorry endl;break;int main()bank * bank = new bank();login(bank);return 0;testlinklist.cpp#include linklist.h#includeusing namespace std;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建三明市属国企招聘项目负责人笔试历年参考题库附带答案详解
- 2025甘肃中电瓜州风力发电有限公司校园招聘笔试历年参考题库附带答案详解
- 2025河南南阳市西峡县宜居城镇工程建设有限公司招聘(第七号)笔试历年参考题库附带答案详解
- 2025年福建一建物业管理有限公司招聘劳务派遣工作人员笔试历年参考题库附带答案详解
- 2025安徽淮南焦岗湖投资集团有限公司政府投资工程审计人员招聘拟聘用人员笔试历年参考题库附带答案详解
- 2025广西河池市招聘中小学幼儿园教师565人模拟试卷及答案详解(名师系列)
- 2025广西柳州市柳江中学参加广西师范大学2025届研究生毕业生春季专场双选会招聘11人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年上半年全省事业单位公开招聘工作人员(含教师)笔试南充考区模拟试卷及答案详解参考
- 2025江苏盐城工业职业技术学院招聘专职辅导员6人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年甘肃省卫生健康委系统招聘工作人员网上缴费考前自测高频考点模拟试题附答案详解(黄金题型)
- 疏浚管线工技能操作考核试卷及答案
- 2025项目管理考试题及答案
- 医院手术室质控体系构建与管理
- 喷涂基础知识培训课件
- 2025年驻外内聘考试题库
- 中铁四局工作汇报与战略规划
- 矿山测量基础知识课件
- 【《上市公司财务造假分析的国内外文献综述》5100字】
- 企业融资培训课件
- 2025年抗菌药物合理使用培训
- GB/T 9113-2010整体钢制管法兰
评论
0/150
提交评论