C++银行储蓄开发全部程序.docx

上传人:b****1 文档编号:2644142 上传时间:2023-05-04 格式:DOCX 页数:58 大小:27.71KB
下载 相关 举报
C++银行储蓄开发全部程序.docx_第1页
第1页 / 共58页
C++银行储蓄开发全部程序.docx_第2页
第2页 / 共58页
C++银行储蓄开发全部程序.docx_第3页
第3页 / 共58页
C++银行储蓄开发全部程序.docx_第4页
第4页 / 共58页
C++银行储蓄开发全部程序.docx_第5页
第5页 / 共58页
C++银行储蓄开发全部程序.docx_第6页
第6页 / 共58页
C++银行储蓄开发全部程序.docx_第7页
第7页 / 共58页
C++银行储蓄开发全部程序.docx_第8页
第8页 / 共58页
C++银行储蓄开发全部程序.docx_第9页
第9页 / 共58页
C++银行储蓄开发全部程序.docx_第10页
第10页 / 共58页
C++银行储蓄开发全部程序.docx_第11页
第11页 / 共58页
C++银行储蓄开发全部程序.docx_第12页
第12页 / 共58页
C++银行储蓄开发全部程序.docx_第13页
第13页 / 共58页
C++银行储蓄开发全部程序.docx_第14页
第14页 / 共58页
C++银行储蓄开发全部程序.docx_第15页
第15页 / 共58页
C++银行储蓄开发全部程序.docx_第16页
第16页 / 共58页
C++银行储蓄开发全部程序.docx_第17页
第17页 / 共58页
C++银行储蓄开发全部程序.docx_第18页
第18页 / 共58页
C++银行储蓄开发全部程序.docx_第19页
第19页 / 共58页
C++银行储蓄开发全部程序.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++银行储蓄开发全部程序.docx

《C++银行储蓄开发全部程序.docx》由会员分享,可在线阅读,更多相关《C++银行储蓄开发全部程序.docx(58页珍藏版)》请在冰点文库上搜索。

C++银行储蓄开发全部程序.docx

C++银行储蓄开发全部程序

计算机与信息工程学院实验报告

课程名称:

高级语言课程设计

实验项目:

银行储蓄

实验项目一、银行储蓄系统主菜单模块设计与实现

1.1库函数描述(原型、功能、头部文件)及其作用

Time显示当前时间类#include

System()调用dos命令_sleep()停息#include

String字符串流#include

#include"myheader.h"中有调用的全部函数声明

1.2编码(必须附加注释)

#include"myheader.h"

voidmain()

{

//背景颜色设置

system("COLOR16");

/*

颜色属性由两个十六进制数字指定--第一个为背景,第二个则为

前景。

每个数字可以为以下任何值之一:

0=黑色8=灰色

1=蓝色9=淡蓝色

2=绿色A=淡绿色

3=湖蓝色B=淡浅绿色

4=红色C=淡红色

5=紫色D=淡紫色

6=黄色E=淡黄色

7=白色F=亮白色

*/

//输出=============★欢迎进入银行活期存款系统★=============

inti;

for(i=0;i<13;i++)

cout<<'=';

cout<<"★欢迎进入银行活期存款系统★";

for(i=0;i<13;i++)

cout<<'=';

cout<

//列示当前时间

cout<<"当前时间:

";

for(i=0;i<6;i++)

cout<<"";

Timet=latesttime();

t.print();

//列示菜单

mylist();

cout<<"如果您不了解该系统请按N否则按Y:

";

//核实输入是否为字符

stringcheck;

while

(1)

{

cin>>check;

if(check.length()>1)

{

cout<<"您的输入有误请重新输入:

";

continue;

}

if(check[0]!

='Y'&&check[0]!

='N')

cout<<"您的输入有误请重新输入:

";

else

break;

}

intmark=1;

if(check[0]=='N')

{

mark=0;

cout<<"友情提示:

按对应业务的编号即可进行该业务!

"<

"<

}

intflag=1;

while(flag++)

{

if(flag>2)

{

system("cls");

mylist();

}

if(mark)

cout<<"请选择业务:

";

stringservicenum;

//核实输入是否为字符

while

(1)

{

cin>>servicenum;

if(servicenum.length()>1)

{

cout<<"您的输入有误请重新输入:

";

continue;

}

else

break;

}

cout<<"确认请按Y,修改请按N,请选择:

";

stringmark;

//核实输入是否为字符

while

(1)

{

cin>>mark;

if(mark.length()>1)

{

cout<<"您的输入有误请重新输入:

";

continue;

}

if(mark[0]!

='Y'&&mark[0]!

='N')

cout<<"您的输入有误请重新输入:

";

else

break;

}

if(mark[0]=='N')

continue;

if(servicenum[0]=='0')

break;

cout<<"正在处理请稍等.";

_sleep(1000);

cout<<".";

_sleep(1000);

cout<<".\n";

_sleep(1000);

switch(servicenum[0])

{

//开户

case'1':

creaccount();break;

//存款

case'2':

deposit();break;

//取款

case'3':

withdraw();break;

//计息

case'4':

computeprofit();break;

//查询

case'5':

checkbalance();break;

//排序

case'6':

order();break;

//系统介绍

case'7':

about();break;

default:

cout<<"对不起,您的选择超出了我们的业务范围。

"<

}

}

cout<<"交易完毕,谢谢合作!

"<

}

1.3mylist.Cpp主函数显示菜单

voidmylist()

{

inti;

for(i=0;i<11;i++)

cout<<'';

cout<<"*************主菜单*************"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆0.................退出☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆1.................开户☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆2.................存款☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆3.................取款☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆4.................计息☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆5.................查询☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆6.................排序☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆7.................关于☆"<

for(i=0;i<12;i++)

cout<<"";

cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<

}

voidabout()

{

cout<<"银行活期存款系统作者:

张瑞"<

cout<<"该系统严格按照国际银行活期存款规则编写,"<

cout<<"如果您什么不懂,请在第一步操作中输入N."<

cout<<"注意:

请按照提示进行操作.否则后果自负!

"<

cout<<"版权所有,打击盗版!

"<

over();

return;

}

1.4实验小结(实验遇到的问题,解决方法)

1.调用外部函数时光简单声明不行必需加个外部修饰extern

2.也可调用外部变量同样用extern

3.把定义的函数都放到myheader.H的头文件中声明

实验项目二、银行储蓄系统开户模块设计与实现

2.1库函数描述(原型、功能、头部文件)及其作用

#include//c++的标准输入输出

#include//c的库函数

#include//字符串流

#include//getch()键盘输入屏幕不输出

#include//STL中的迭代器

#include//messagebox()消息框

#include//时间类的头文件

#include//c标准输入输出和文件流

usingnamespacestd;

2.2帐户类定义

#include"myheader.h"

//帐号类是定义在myhead.H头文件里

classTime{

public:

intyear,month,day,hour,minute,second;

Time(inta=0,intb=0,intc=0,intd=0,inte=0,intf=0):

year(a),month(b),day(c),hour(d),minute(e),second(f){}

voidprint()

{

cout<

}

voidprint1()

{

cout<

}

//两个时间段相距的天数

intisHalfYear(Timet)

{

intct;

if(year>t.year)

ct=(year-t.year-1)*360+(month-t.month+11)*30+day+30-t.day;

else

ct=(month-t.month-1)*30+day+30-t.day;

returnct;

}

voidcopy(Timef)//时间拷贝

{

year=f.year;

month=f.month;

day=f.day;

hour=f.hour;

minute=f.minute;

second=f.second;

}

//判断时间是否大

booltimebig(Timet)

{

if(year>t.year)

returnfalse;

elseif(year

returntrue;

elseif(year==t.year)

{

if(month>t.month)

returnfalse;

elseif(month

returntrue;

elseif(month==t.month)

{

if(day>t.day)

returnfalse;

elseif(day

returntrue;

elseif(day==t.day)

{

if(hour>t.hour)

returnfalse;

elseif(hour

returntrue;

elseif(hour==t.hour)

{

if(minute>t.minute)

returnfalse;

elseif(minute

returntrue;

elseif(minute==t.minute)

{

if(second>t.second)

returnfalse;

elseif(second

returntrue;

}

else

returntrue;

}

else

returntrue;

}

else

returntrue;

}

else

returntrue;

}

returntrue;

}

};

//检查输入的字符产是否全是数字

boolchecknum(constchar*);

//重载比较函数

intstrcmp(constchar*s1,constchar*s2);

//钱数大些函数声明

voidreadmoney(char*);

//定义帐号类

classAccount

{

public:

charname[20],ID[20],balance[15],code[10];

Timetime;

Account(constchar*a="",constchar*b="",constchar*c="",constchar*d="",Timee=Time(0,0,0,0,0,0))

{

strcpy(name,a);

strcpy(ID,b);

strcpy(code,c);

strcpy(balance,d);

time=e;

}

voidprint1()

{

inti;

for(i=0;i<30;i++)

cout<<"{}";

cout<

cout<<"姓名:

"<

cout<<"身份证号:

"<

cout<<"余额:

"<

cout<<"余额大写:

";

readmoney(balance);

cout<<"开户时间:

";

time.print();

}

voidprint2()

{

inti;

for(i=0;i<30;i++)

cout<<"{}";

cout<

cout<<"姓名:

"<

cout<<"身份证号:

"<

cout<<"余额:

"<

cout<<"余额大写:

";

readmoney(balance);

cout<<"上次计息时间(开户时间):

";

time.print();

}

};

classRem{

public:

charID[20],money[10];

intflag;

Timet;

Rem(char*a="",char*b="",intc=0,Timed=Time(0,0,0,0,0,0))

{

strcpy(ID,a);

strcpy(money,b);

flag=c;

t=d;

}

voidprint()

{

if(flag==0)

{

t.print1();

cout<<""<<"取款"<

}

if(flag==1)

{

t.print1();

cout<<""<<"存款"<

}

}

};

//菜单

voidmylist();

//开户

voidcreaccount();

//存款

voiddeposit();

//取款

voidrevisecode();

//计息

voidcomputeprofit();

//查询

voidcheckbalance();

//排序色

voidcreatcolor();

//关于系统介绍

voidabout();

//大写读取金额

voidreadmoney(char*s);

//重载比较函数

intstrcmp(constchar*s1,constchar*s2);

//结束

voidover();

//求两字符串之和

voidplus(char*s1,char*s2);

//求两字符串之差

voidminus(char*s1,char*s2);

//将字符串倒置

voidopposition(char*s);

//检查输入的金额是否合法并对其进行规范性修改

boolcheckmoney(char*s);

//计算利息专用

booljixi(Account&a);

//校验身份证号是否正确

boolcheckID(constchar*s);

//检查所输入的身份证号是否已开过户,开过户返回true,未开过返回false

boolfinID(constchar*s);

//获取当前时间的time函数

Timelatesttime();

//移位

voidchange(char*ch);

//输出备忘录

voidoutput(constchar*s);

2.3编码(必须附加注释)

#include"myheader.h"

voidcreaccount()//开户

{

cout<<"『欢迎您在此开户』"<

charID[20]="";

//检查该身份证号是否符合中华人民共和国身份证号码的编制规则

while

(1)

{

cout<<"请输入您的身份证号:

"<

cin>>ID;

if(checkID(ID))

break;

else

{

cout<<"您的输入有误请重新输入您的身份证号:

"<

}

}

//检查是否在此开过户

if(finID(ID))

{

cout<<"您已在次开过户。

"<

over();

return;

}

cout<<"请输入您的姓名:

"<

stringname;

while

(1)

{

cin>>name;

if(name.length()>8)

cout<<"您的输入有误,请重新输入。

"<

else

break;

}

constchar*copyname=name.c_str();//name的首地址且必须是const只读的

cout<<"请输入您的密码:

"<

cout<<"注意:

密码更正每人只有三次机会,密码只有六位。

"<

charcod[7]="",flag=0;//计数

while

(1)

{

if(flag)

{

if(flag==3)

break;

cout<<"您的密码输入有误,";

}

inti;

cout<<"请输入密码:

"<

for(i=0;i<6;i++)

{

cod[i]=getch();

cout<<"*";

}

MessageBox(0,"密码位数已足","提示",MB_OK|MB_SYSTEMMODAL);

cout<

cout<<"请确认一下密码:

"<

charcopycod[7]="";

for(i=0;i<6;i++)

{

copycod[i]=getch();

cout<<"*";

}

MessageBox(0,"密码位数已足","提示",0);

cout<

if(strcmp(cod,copycod)!

=0)

{

flag++;

continue;

}

else

{

MessageBox(0,"恭喜!

密码输入成功!

","提示",0);

break;

}

}

cout<<"请输入您的开户金额:

"<

charmoney[20]="";

while

(1)

{

cin>>money;

if(checkmoney(money))

break;

else

cout<<"您的输入有误,请重新输入:

"<

}

FILE*fp;

fp=fopen("D:

\\mybank","a");

Timet=latesttime();

Accounttemp(copyname,ID,cod,money,t);

fwrite(&temp,sizeof(Account),1,fp);

fclose(fp);

MessageBox(0,"恭喜您!

在次开户成功!

","提示",0);

intjx=MessageBox(0,"您是否要查看一下您的信息?

","提示",1)-2;

if(jx)

temp.print1();

over();

return;

}

4实验小结(实验遇到的问题,解决方法)

1.在getch()前有时要加入cin.get()防止上次输入被getch()获取

2.对密码和帐号输入后要在数组最后加个“ ”防止数组错误

3.对打开文件是有时用绝对路径'\\'表示\

实验项目三银行储蓄系统存款模块设计与实现

3.1库函数描述(原型、功能、头部文件)及其作用

#include//c的标准输入输出和文件流

#include//massagebox()消息框的头文件

#include"myheaer.h"//全部调用函数

#include//getch()从控制台读取一个字符,但不显示在屏幕上

3.2编码(必须附加注释)

#include"myheader.H"

//存款

voiddeposit()

{

FILE*fp;

fp=fopen("D:

\\mybank","r");

if(fp==NULL)

{

cout<<"您尚未在此开户!

"<

over();

return;

}

fclose(fp);

cout<<"=====☆欢迎进入存款模块☆====="<

cout<<"请输入您的身份证号:

"<

charID[20]="";

while

(1)

{

cin>>ID;

if(checkID(ID))

{

if(finID(ID))

break;

else

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2