首页 > 哲学范文 > 马克思主义哲学 / 正文
银行账户管理系统(c++课程设计)
2020-12-23 09:50:28 ℃
2015-2016学年第二学期
面向对象程序设计(c++) 大作业说明书
学院名称:
计算机与信息工程学院
班级名称:
计算机科学与技术(对口)
学生姓名:
学
号:
题
目:
银行账户管理系统
指导教师:
起止日期:
2016年4月3日至2016年4月20日
计算机与信息工程学院
目
录 1. 选题背景 1 2. 设计思路 1 2.1 设计思想 1 2.1.1设计内容 1 2.1.2设计要求 1 2.2功能需求 1 2.3软硬件运行环境及开发工具 1 3.过程论述 1 3.1需求分析 1 3.1.1系统功能图 1 3.1.2函数功能和说明 2 3.2程序代码分析 2 4.结果分析 7 5. 结论 7 参考文献 7
1. 选题背景 随着办公自动化的迅速发展,对企事业单位信息的自动化管理提出了很高的要求。对于银行来说,由于有大量的客户信息需要处理,因此银行帐户管理系统的开发与研究有一定的实用价值。
2. 设计思路 2.1 设计思想 2.1.1设计内容
因本次课程设计是银行卡账户管理系统,所以本次主要内容有:最高管理员模式、管理员模式、用户模式、退出系统。
2.1.2设计要求
定义一个用户信息类userinformation和一个管理员类manager,程序运行时,首先进入最高管理员模式,设置一下银行管理人员的密码,设置成功后可以按4返回主菜单,进入其他界面,管理员可以进行登录、开户、挂失、销户等功能,用户可以进行取款、存款、修改密码、转账、查询操作。最后一项是退出系统功能。
2.2功能需求 (1) 银行管理员所需的功能:如开户、销户、挂失、解锁等。 (2) 用户所需的功能:如存款、取款、查询余额、更改密码等。
(3) 对本银行已有的账户金额进行统计。
(4) 及时保存用户的信息,存到固定的文件里。
2.3软硬件运行环境及开发工具 (1)编成语言:c++语言。
(2)开发环境:Microsoft
Windows
7、Visual c++ 6.0。
3.过程论述 3.1需求分析 3.1.1系统功能图
显示整个程序所要运行的流程。如图3-1所示。
银行账户管理系统
开始界面
最高管理模式 管理员模式 退出系统 用户模式
图3-1 功能图 3.1.2函数功能和说明
各函数功能表 void display() 输出用户信息 void change_money_li () 计算本息和 void change_money() 获取存款金额 void OpenAccount () 开户 void CloseAccount () 销户 void HookAccount (Userinformation a) 用户挂失 void Saving ( ) 存款 void
Drawing ( ) 取款 void Transfering ( ) 转账 void Inquiring () 查询 void read() 创建文件“E:\\银行账户管理数据.txt“或从文件“E:\\银行账户管理数据.txt“读取信息 void write() 将信息存入文件“C:\\Users\\银行账户管理数据.txt“ Void wait() 返回主菜单的等待函数 3.2程序代码分析 1.最高管理模式,界面显示如图3-1所示
图3-1最高管理模式图 代码如下:
void setlixi(double a)
//设置日利率
{
lixi=a;
cout<<“成功设置日利率!“<<endl;
cout<<“利率为:“<<lixi<<“%“<<endl; } void writelixi()
//保存日利率 {
ofstream stuf1(“E:\\高层管理数据1.txt“,ios::out); stuf1<<setiosflags(ios::fixed)<<setprecision(3)<<lixi<<“
“;stuf1.close(); cout<<“保存成功!“<<endl; cout<<endl; } void setsui(double a)
//设置固定年息
{
sui=a;
cout<<“成功设置税率!“<<endl; cout<<“利率为:“<<sui<<“%“<<endl; } void writesui()
//保存固定年息 { ofstream stuf2 (“E:\\高层管理数据2.txt“,ios::out); stuf2<<setiosflags(ios::fixed)<<setprecision(3)<<sui<<“
“;stuf2.close(); cout<<“保存成功!“<<endl; cout<<endl; } void
setmanagercode( string a)
//设置管理员密码 { managercode=a; cout<<“密码设置成功!“<<endl;} 2.管理员模式,运行界面如下图3-2所示。
图3-2管理员模式图 部分功能实现代码如下:
(1)在管理员模式中,实现管理员为用户开户的功能,具体代码如下:
void OpenAccount (Userinformation a) {
B[number+sum]=a;
sum++;
cout<<“开户成功!“<<endl;
cout<<endl; } (2)在管理员模式中,实现管理员为用户账户挂失的功能,具体代码如下:
void HookAccount (Userinformation a){
char c;
int flag=0;
for (int i=0; i<sum+number; i++){
if (B[i].get_userNum() ==a.get_userNum()){
if(B[i].get_status()==“HOOK“){
cout<<“该用户已挂失!“<<endl;
cout<<endl;
break;}
else{
cout<<endl;
B[i].display ();
cout<<“确认-Y/取消-N: “;
cin>>c;
if(c=='Y'||c=='y'){
flag=1;
B[i].status=“HOOK“;
cout<<“挂失成功!“<<endl;
cout<<endl;}}
}
}
if (flag==0){
cout<<“该用户不存在!“<<endl;cout<<endl;}}
3.用户模式,界面运行如下图3-3所示
图3-3 用户模式图 部分功能代码如下:
(1) 为用户提供存款的功能。具体代码实现如下:
void Saving (Userinformation a,double mon,int r1){
int i;
for ( i=0; i<sum+number; i++){
if (B[i].get_userNum() ==a.userNum){
//判断是否系统中存在此用户
if(B[i].get_status()==“HOOK“){
//判断用户银行卡的使用状态
cout<<“对不起,用户已被冻结,无法修改!“<<endl;cout<<endl;}
else{
r2=f1(B[i].year,B[i].month,B[i].day);
B[i].countday=r1-r2;
B[i].change_money_li(B[i].countday);
B[i]. change_money(mon);
cout<<“成功存款:“<<mon<<endl;
cout<<endl;}}}
if(i==sum+number+1){
cout<<“错误该用户不存在!“<<endl;cout<<endl;} } (2) 为用户提供转账的功能。具体代码实现如下:
void Transfering (Userinformation a,int r1){
string usernum1; int j; int i; int mon; char c; for (i=0; i<sum+number; i++){
if (B[i].get_userNum() ==a.userNum){
if(B[i].get_status()==“HOOK“){
cout<<“对不起,用户已被冻结,无法修改!“<<endl;cout<<endl;}
else{
r2=f1(B[i].year,B[i].month,B[i].day);
B[i].countday=r1-r2;
B[i].change_money_li(B[i].countday);
cout<<“请输入要转账的银行卡号:“;
cin>>usernum1;
for (j=0; j<sum+number; j++){
if (B[j].get_userNum() ==usernum1){
cout<<“请输入要转账的金额:“<<endl;
cin>>mon;
if(mon>B[i].money){
cout<<“您的余额不足!无法进行转账!“<<endl;
cout<<endl;}
else{
r2=f1(B[j].year,B[j].month,B[j].day);B[j].countday=r1-r2;
B[j].change_money_li(B[i].countday);
B[i]. change_money(-mon);
B[j]. change_money(mon);
cout<<“成功从用户:“<<B[i].get_userNum()<<“转账到用户:
“<<B[j].get_userNum()<<endl;
cout<<“打印拼条?y/n“<<endl;
cin>>c; if(c=='y'||'c==Y'){ B[j].Wait(); cout<<“凭条打印中,请稍后!“<<endl; cout<<“转账金额为:“<<mon;cout<<endl;}}}}
if (j==sum+number+1)
cout<<“该用户不存在!“<<endl;cout<<endl;}}}
if(i==sum+number+1)
cout<<“该用户不存在!“<<endl;cout<<endl;} 4.结果分析 1.测试与操作说明
使用visualc++ 6.0,打开银行账户管理系统c++文件,接着纠正错误,无错误,最后执行文件。要求用户在一开始进入界面的时候,进入最高管理模式,设置管理员密码,然后再进行其他选项。其他选项的进入由测试人员自行选择。
5. 结论
通过这次C++大作业设计,使我学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问题相联接的关键步骤。通过这次,能够提高自己的分析问题、解决问题的能力,从而运用所学知识解决实际问题的能力,并培养基本的程序设计技能。
参考文献 [1]李素若,《C++面向对象程序设计》,北京化学工业出版社,2008年出版 [1]郑莉,傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出版 [2]谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7月出版 评分表 学号 2014214190 姓名:徐竹青
项目 占比 评分标准 得分 文档 50% 格式规范,逻辑清晰,完整体现软件设计与开发过程 49 程序 10% 程序运行正确 10 10% 使用了三种以上面向对象特性得6分,四种得8分,五种得满分10分 6 20% 程序自主编写,熟悉程序的各部分代码 19 10% 程序复杂度 10 总分
94
- 上一篇:史志局201X年亮点工作情况汇报
- 下一篇:第三卷读后感1000字
猜你喜欢
- 2024-01-20 2024年校长发言:“两个结合”是保持马克思主义蓬勃生机时代要求【精选推荐】
- 2024-01-19 2024主题党课:中国化马克思主义
- 2024-01-14 参加“青年马克思主义培训班”心得体会【优秀范文】
- 2024-01-08 2024年校长发言:“两个结合”是保持马克思主义蓬勃生机时代要求【精选推荐】
- 2023-12-26 2024年校长发言:“两个结合”是保持马克思主义蓬勃生机时代要求【精选推荐】
- 2023-08-03 马的优秀作文6篇(完整文档)
- 2023-07-01 2023年度党建引领马克思主义学院高质量发展工作总结
- 2023-06-12 2023年度幸福哲学
- 2023-05-31 纪念马克思诞辰200周年活动方案(范文)(完整)
- 2023-05-15 2023党课:马克思共同富裕思想中资本逻辑批判及其现实启示
- 搜索
-
- 《中华人民共和国公职人员政务处分法》 07-21
- 新时代中国青年与马克思主义信念4篇 05-12
- 反假考试2019理论模拟试题(一) 05-04
- 关于申请解决临时聘用人员工资的报告 05-07
- 关于“执法规范化”学习心得体会 04-10
- 十四五规划编制指示学习心得体会发言2 10-04
- 内部控制开题报告 10-11
- 2020年党支部工作情况报告 07-01
- 体检优质护理服务措施 04-06
- 坚持和巩固党对意识形态工作的领导发言 04-28
- 11-25国庆70周年庆典晚会 庆典晚会串词
- 11-25办公室礼仪的十大原则 浅谈办公室的电话礼仪
- 01-17用心灵轻轻地歌唱_心灵的歌唱
- 01-17也许你不是我一生的唯一|也许不是我
- 01-17爱了,请珍惜;不爱,趁早放手|爱就珍惜不爱就放手
- 01-17岁月带走的是记忆,但回忆会越来越清晰|有趣又有深意的句子
- 01-17曾经的美好只是曾经,我只想珍惜身边的人|我只想珍惜你
- 01-18从容不惊 [学会笑眼去看世界,不惊不乍,淡定从容]
- 02-03当代大学生学习态度调查报告
- 02-03常用护患英语会话
- 标签列表