收藏 分销(赏)

个人银行管理系统C++样本.doc

上传人:二*** 文档编号:4572455 上传时间:2024-09-30 格式:DOC 页数:27 大小:367.53KB
下载 相关 举报
个人银行管理系统C++样本.doc_第1页
第1页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、辽 宁 工 业 大 学C+语言程序设计课程设计(论文)题目: 个人银行管理系统 院(系): 专业班级: 学 号: 学生姓名: 指引教师: 教师职称: 起止时间:.12.12-.12.25课程设计(论文)任务及评语院(系): 教研室:软件教研室学 号学生姓名专业班级课程设计(论文)题目个人银行管理系统课程设计(论文)任务程序设计任务与规定:(1). 掌握面向对象程序设计语言C+基本语法(2). 掌握C+面向对象设计思想(3). 掌握VC+6.0与DEV C+ 开发工具使用 (4). 运用原则C+规范设计应用程序设计过程中,要严格遵守设计时间安排,听从指引教师指引。对的地完毕上述内容,规范完整地撰

2、写出设计报告。指引教师评语及成绩 成绩: 指引教师签字: 年 月 日 目 录第1章 课程设计目与规定11.1 设计目11.2实验环境11.3预备知识11.4设计规定1第2章 课程设计内容22.1 课题描述22.2 系统设计22.2.1功能分析22.2.2面向对象设计22.2.2类成员描述22.3程序实现22.3.1源码分析22.3.2运营成果2第3章 课程设计总结3参照文献4第1章 课程设计目与规定1.1 设计目将理论教学中涉及到知识点贯穿起来,对不同数据类型、程序控制构造、数据构造作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通限度。通过课程设计,学生在下述各方面能力应当得

3、到锻炼:(1)进一步巩固、加深学生所学专业课程C+语言教程基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题能力。(2)全面考核学生所掌握基本理论知识及其实际业务能力,从而达到提高学生素质最后目。(3)运用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进行数据解决综合能力。(4)对于给定设计题目,如何进行分析,理清思路,并给出相应数学模型。(5)掌握面向对象程序设计办法。(6)纯熟掌握C+语言基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。1.2实验环境硬件规定能运营Windows 操作系统微机系统。C

4、+语言应用程序开发软件使用:VC+ 系统,或其她C+语言应用程序开发软件。1.3预备知识熟悉C+语言程序设计基本知识及VC+编辑器用法。1.4设计规定1.仔细分析设计题目,画出程序流程图,编写程序源代码。2.积极上机调试源程序,增强编程技巧与调程能力。3.认真书写课程设计预习报告,课程设计阐明书。4.遵守课程设计规定和机房管理制度,服从指引教师安排,保证课程设计顺利完毕课程设计内容。第2章 课程设计内容2.1 课题描述熟悉C+工程开发过程、头文献和源文献之间关系,掌握类、继承及派生、虚函数、多态性在C+面向对象程序设计中体现,掌握一种类对象作为此外一种类成员实现办法。掌握子类对象与父类对象关系

5、,熟悉C+中流使用,养成良好编程习惯。在掌握C+面向对象程序设计办法基本上,使用VC+6.0结合课本内容完毕如下内容实现:完毕个人银行账户管理程序编写、编译、调试、运营,完毕基类Account、子类SavingsAccount及CreditAccount声明及定义。实现Accumulator类及Date类。运用C+中流概念实现账户信息存储。在Account类中添加数据成员:Password,并相应编写该数据成员get函数。在主函数中实现账户对象创立时从键盘输入构造函数需要信息。在输出及需要顾客输入时候要给出相应提示信息。2.2 系统设计2.2.1功能分析个人银行账号管理模块:1.主界面重要导航

6、栏有:个人银行账号管理系统,已存入三个账户信息,有六个服务涉及存款、取款、显示个账户信息、变化日期、进入下个月、退出。2.显示个账户信息页面显示您账户序号、账号和收支平衡,在第二行显示日期和账户总额。3.存款页面显示请选取您账户序号,输入账户序号之后,显示请输入您存款金额,从后台数据库中找到该顾客余额记录,修改余额,并将该存款事件相应信息写人数据库,同步在下面显示您存款日期、账号,存入金额,总金额。4取款页面 取款页面和存款页面提示信息相似,提供数据输入界面,等待顾客输入取款金额,如果取款金额不不大于该顾客卡上余额则不能取款,或者将新余额写人文献,并将本次取款事件写入文献同步将取钱金额显示在页

7、面上。2.2.2面向对象设计 Date-year :int-month :int-day :int-totalDays :int+Date(year :int,month :int,day :int) +getYear() :int+getMonth() :int+getDay() :int + getMaxDay() :int + isLeapYear() :bool + show() + operator - (date :Date) :intAccumulator-lastDate :Date-value :double-sum :double+Accumulator(date :Dat

8、e,value :double) +getSum(date :Date) :double+change(date :Date,value :double)+reset(date :Date,value :double)SavingsAccount-acc :Accumulator-rate :double+SavingsAccount(date :Date,id :int,rate :double) +getRate() :double+deposit(date :Date,amount :double,desc :string)+withdraw(date :Date,amount :dou

9、ble,desc :string)+settle(date :Date)Account-id :string-balance :double-total :double#Account(date :Date,id :int)#record(date:Date,amount :double,desc :string)#error(msg:string)+getId() :int +getBalance() :double + deposit(date :Date,amount :double,desc :string) + withdraw(date :Date,amount :double,d

10、esc :string) + settle(date :Date) + show()+getTotal() :doubleCreditAccount-acc :Accumulator-credit :double-rate :double-fee :double -getDebt() :double+CreditAccount(date :Date,id :int,credit :double,rate :double,fee :double) +getCredit() :double +getRate() :double +getFee() :double +getAvailableCred

11、it() :double+deposit(date :Date,amount :double,desc :string)+withdraw(date :Date,amount :double,desc :string)+settle(date :Date)+show() 2.2.2类成员描述StartcincountI=1I=accountNumBanki.account=countI+end选取服务存款取款显示个账户信息改变日期进入下月个人银行账号管理系统账户创立账户查询退出账户账户序号存款金额2.3程序实现2.3.1源码分析#include account.h#include using

12、namespace std;int main()cout -个人银行账户管理系统!- endl;Date date(,6,1); /起始日期 /初始账户 SavingsAccount sa1(date,S3755271,0.015,123);SavingsAccount sa2(date,02342342,0.015,456);CreditAccount ca(date,C5392394,10000,0.0005,50,789);Account *accounts=&sa1,&sa2,&ca;const int n=sizeof(accounts)/sizeof(Account*);cout(

13、d)存款 endl;cout(w) 取款endl;cout(s) 显示各账户信息 endl;cout(c)变化日期 endl;cout(n) 进入下个月 endl;cout(e)退出 endl;char cmd;do /显示日期和总金额coutendl;date.show();coutt账户总金额Account:getTotal()endl;coutendl;coutcmd;switch(cmd)cased: /存入钞票coutindex;if(index=0|index=1|index=2)coutamount;accountsindex-deposit(date,amount,desc);

14、elsecout账户号错误!;break;casew: /取出钞票 coutindex;coutpwd;pass=accountsindex-getPassword();if(pare(pwd)=0)cout密码对的!endl; coutamount; accountsindex-withdraw(date,amount,desc); elsecout您输入密码错误!endl;break;cases: /查询各账户信息for( i=0;in;i+)coutishow();coutendl;break;casec: /变化日期coutday;coutendl;if(daydate.getDay(

15、)coutdate.getMaxDay()coutInvalid day;elsedate=Date(date.getYear(),date.getMonth(),day);break;casen: /进入下个月if(date.getMonth()=12)date=Date(date.getYear()+1,1,1);elsedate=Date(date.getYear(),date.getMonth()+1,1);for(int k=0;ksettle(date);break;while(cmd!=e); return 0;#include account.h#include #includ

16、e using namespace std;double Account:total=0;/Account类实现Account:Account(const Date &date,const string &id,const string &pwd):id(id),balance(0),password(pwd)date.show();coutt#id createdendl;void Account:record(const Date &date,double amount,const string &desc)amount=floor(amount*100+0.5)/100; /保存小数点后

17、两位balance+=amount;total+=amount;date.show();coutt#idtamounttbalancetdescendl;void Account:show() const coutidtBalance:balance;void Account:error(const string &msg)constcoutError(#id):msggetBalance()error(not enough money);else record(date,-amount,desc);acc.change(date,getBalance(); void SavingsAccou

18、nt:settle(const Date &date)if(date.getMonth()=1)double interest=acc.getSum(date)*rate/(date-Date(date.getYear()-1,1,1); /计算年息if(interest!=0)record(date,interest,interest);acc.reset(date,getBalance();/CreditAccount类有关成员函数实现CreditAccount:CreditAccount(const Date &date,const string &id,double credit,do

19、uble rate,double fee,const std:string &password):Account(date,id,password),credit(credit),rate(rate),fee(fee),acc(date,0)void CreditAccount:deposit(const Date &date,double amount,const string &desc) record(date,amount,desc); acc.change(date,getBalance(); void CreditAccount:withdraw(const Date &date,

20、double amount,const string &desc)if(amount-getBalance()credit)error(not enough money);else record(date,-amount,desc);acc.change(date,getDebt(); void CreditAccount:settle(const Date &date)double interest=acc.getSum(date)*rate;if(interest!=0)record(date,interest,interest);if(date.getMonth()=1)record(d

21、ate,-fee,annual fee);acc.reset(date,getDebt();void CreditAccount:show() constAccount:show();couttAvailable credit:getAvailableCredit();#include date.h#include #include using namespace std;/namespace使下面定义只在当前文献中有效namespace /存储平年中某个月1日之前有多少天,为便于getMaxDay函数实现,该数组多余一项const int DAYS_BEFORE_MONTH=0,31,59,

22、90,120,151,181,212,243,273,304,334,365;Date:Date(int year,int month,int day):year(year),month(month),day(day)if(daygetMaxDay()coutInvalid date:;show();cout2) totalDays+; /DATE:DATEint Date:getMaxDay() constif(isLeapYear() & month=2)return 29;elsereturn DAYS_BEFORE_MONTHmonth-DAYS_BEFORE_MONTHmonth-1

23、;void Date:show() constcoutgetYear()-getMonth()-getDay();#ifndef _ACCOUNT_H_#define _ACCOUNT_H_#include date.h#include accumulator.h#include using namespace std;class Account /账户类private:std:string id; /账号 std:string password;double balance; /余额static double total; /所有账户总金额protected:/供派生类调用构造函数,id为账

24、户Account(const Date &date,const std:string &id,const std:string &pwd);/记录一笔账,data为日期,amount为金额,desc为阐明void record(const Date &date,double amount,const std:string &desc);/报告错误信息void error(const std:string &msg) const;public:const std:string &getId() const return id;const std:string getPassword() retu

25、rn password;double getBalance() const return balance;static double getTotal()return total;/存入钞票,date为日期,amount为金额,desc为款项阐明virtual void deposit(const Date &date,double amount,const std:string &desc)=0;/取出钞票,date为日期,amount为金额,desc为款项阐明virtual void withdraw(const Date &date,double amount,const std:str

26、ing &desc)=0;/结算(计算利息、年费等),每月结算一次,date为结算日期virtual void settle(const Date &date)=0;/显示账户信息virtual void show() const;class SavingsAccount:public Accountprivate:Accumulator acc;double rate;public:/构造函数SavingsAccount(const Date &date,const std:string &id,double rate,const std:string &passwod);double ge

27、tRate() const return rate;/存入钞票void deposit(const Date &date,double amount,const std:string &desc);/取出钞票void withdraw(const Date &date,double amount,const std:string &desc);/结算利息,每年1月1日调用一次该函数void settle(const Date &date);class CreditAccount:public Account /信用账户类private:Accumulator acc; /辅助计算利息累加器do

28、uble credit; /信用额度double rate; /欠款日利率double fee; /信用卡年费double getDebt()const /获得欠款额double balance=getBalance();return(balance0?balance:0);public:/构造函数CreditAccount(const Date &date,const std:string &id,double credit,double rate,double fee,const std:string &passwod);double getCredit() const return cr

29、edit;double getRate() const return rate;double getFee() const return fee;double getAvailableCredit() const /获得可用信用额度if(getBalance()value=value;/初始化,将日期变为date,数值变为value,累加器清零void reset(const Date &date,double value)lastDate=date;this-value=value;sum=0;#endif#ifndef _DATE_H_#define _DATE_H_class Date

30、/日期类private:int year; /年int month; /月int day; /日int totalDays; /该日期是从公元元年1月1日开始第几天public:Date(int year,int month,int day); /用年、月、日构造日期int getYear() const return year; int getMonth() const return month;int getDay() const return day; int getMaxDay() const; /获得当月有多少天bool isLeapYear() const /判断当年与否为闰年re

31、turn year%4=0&year%100!=0|year%400=0;void show() const; /输入当前日期 int operator-(const Date &date) const /计算两个日期之间差多少天return totalDays-date.totalDays;#endif /_Date_H_2.3.2运营成果a. 帐户创立b. 帐户查询c. 存款d. 取款第3章 课程设计总结本次C+课程设计,在指引教师精心辅导下,我学会了如何用C+编写一种简朴程序。一方面要对程序设计规定有一种明确结识,然后系统设计与功能分析,最后是代码设计与调试。依照C+课程所学概念、理论和

32、办法,按照C+程序设计基本环节,设计出一种适合规模程序;进一步加深对C+语言理解和掌握。理论联系实际,加深和巩固所学理论知识,提高实践能力和计算机综合运用能力。咱们编写程序过程是辛苦与高兴,程序编写原则很重要,只要咱们在编程,就必要不断改进,才干更好提高编程能力。通过两周C+实训课程,我深切体会到了编程乐趣,在本次实训中,我也看到了许多自己局限性,不但是知识上,尚有思考能力等方面都需要进一步提高。在编程过程中,思维是占重要,因此不断练习编程,是提高自己能力有效途径。在编写程序中,细节决定成败,我经常粗心写错语句或是打错符号,然后就不能得到想要成果,这是后来学习工作中应当注意问题。固然,在本次实

33、训中,我也遇到了某些麻烦,例如刚开始建立三个账户不能放在一种数组中进行操作,但是通过查资料理解到可以用虚函数来解决。尚有某些当前还存在问题,如实现功能不够完善,界面不够美观等,均有待后来进一步学习改进。尽管人们很认真了,但仍有些局限性之处,这也正暴露了咱们学习中诸多漏洞,在此后仍得继续努力,踏踏实实学好基本知识。参照文献1.黄品梅 主编 C+程序设计教程化难为易地学习C+ 北京:机械工业出版社2.王珊珊、张志航 编著 C+程序设计教程 北京:机械工业出版社3.郑莉、董渊 编著 C+语言程序设计 北京:清华大学出版社4.黄迪明 主编 C+语言程序设计基本 北京:电子工业出版社5.钱能 主编 C+程序设计教程 北京:清华大学出版社6.徐孝凯 编著 C+语言程序设计 北京:清华大学出版社7.吴访升 编著 C+程序设计 北京: 机械工业出版社8.Decoder 主编 C/C+程序设计 北京:中华人民共和国铁道出版社9.陈国建 编著 C+语言从入门到精通 北京:机械工业出版社10.邬延辉、王小权 编著 C+程序设计教程:基于案例 北京:机

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 管理财经 > 金融保险

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服