银行储蓄系统c++版实训项目报告.doc

上传人:laozhun 文档编号:2385644 上传时间:2023-02-17 格式:DOC 页数:17 大小:105KB
返回 下载 相关 举报
银行储蓄系统c++版实训项目报告.doc_第1页
第1页 / 共17页
银行储蓄系统c++版实训项目报告.doc_第2页
第2页 / 共17页
银行储蓄系统c++版实训项目报告.doc_第3页
第3页 / 共17页
银行储蓄系统c++版实训项目报告.doc_第4页
第4页 / 共17页
银行储蓄系统c++版实训项目报告.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《银行储蓄系统c++版实训项目报告.doc》由会员分享,可在线阅读,更多相关《银行储蓄系统c++版实训项目报告.doc(17页珍藏版)》请在三一办公上搜索。

1、实训项目报告书项目名称: 银行综合业务储蓄平台 c+版年级班级: 项目完成人: 实训时间: 2012年 7月 5日至 2012 年7 月 9 日填 表 说 明一、本表由项目完成人填写,一式一份;二、实训结束前将填好的文稿打印后交实训指导教师进行鉴定和评定成绩,确认后的文档交院校存档保存;三、此表电子文档及学生项目实训的作品须打包存档,压缩文件包以学生学号命名,以班为单位收集,刻录光盘交院校存档;实训项目名称银行综合业务储蓄平台 c+版项目组成员及其分工姓名分工情况承担的主要工作一 需求分析登陆退出开户 销户 查询 存款 取款 转账二 概要设计BankLinkList * listvoid op

2、enAccount();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

3、*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);Recor

4、d * 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();vo

5、id 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();stri

6、ng 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 = ;

7、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 R

8、ecord: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 el

9、ements.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;doubl

10、e 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();#endifRec

11、ord.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-nex

12、t = 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 i

13、s 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) /判断头结点是否为空,如果为空,n

14、ode即为头节点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:displa

15、y()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指针指向的节点插入到

16、链表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:setHe

17、ad(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:

18、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-setUse

19、rName(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();cou

20、tEnd 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(accountNumbe

21、r);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()

22、 != 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 =

23、;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(numb

24、er);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;els

25、ecoutthe 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)/修改账户

26、金额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.en

27、dl;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();bre

28、ak;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 pass

29、Word = 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 i

30、nput 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);retu

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号