银行储蓄开发程序代码C++文档格式.docx
《银行储蓄开发程序代码C++文档格式.docx》由会员分享,可在线阅读,更多相关《银行储蓄开发程序代码C++文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
★欢迎进入银行活期存款系统★"
endl;
//列示当前时间
当前时间:
6;
"
Timet=latesttime();
t.print();
//列示菜单
mylist();
如果您不了解该系统请按N否则按Y:
//核实输入是否为字符
stringcheck;
while
(1)
{
cin>
>
check;
if(check.length()>
1)
{
cout<
您的输入有误请重新输入:
continue;
}
if(check[0]!
Y'
&
check[0]!
N'
)
else
break;
}
intmark=1;
if(check[0]=='
mark=0;
友情提示:
按对应业务的编号即可进行该业务!
endl<
请继续:
intflag=1;
while(flag++)
if(flag>
2)
system("
cls"
mylist();
if(mark)
请选择业务:
stringservicenum;
//核实输入是否为字符
while
(1)
cin>
servicenum;
if(servicenum.length()>
{
cout<
continue;
}
else
break;
确认请按Y,修改请按N,请选择:
stringmark;
mark;
if(mark.length()>
if(mark[0]!
mark[0]!
if(mark[0]=='
if(servicenum[0]=='
0'
正在处理请稍等."
_sleep(1000);
."
.\n"
switch(servicenum[0])
//开户
case'
1'
:
creaccount();
break;
//存款
2'
deposit();
//取款
3'
withdraw();
//计息
4'
computeprofit();
//查询
5'
checkbalance();
//排序
6'
order();
//系统介绍
7'
about();
break;
default:
对不起,您的选择超出了我们的业务范围。
交易完毕,谢谢合作!
!
}
1.3mylist.Cpp主函数显示菜单
voidmylist()
11;
'
*************主菜单*************"
12;
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"
☆0.................退出☆"
☆1.................开户☆"
☆2.................存款☆"
☆3.................取款☆"
☆4.................计息☆"
☆5.................查询☆"
☆6.................排序☆"
☆7.................关于☆"
voidabout()
银行活期存款系统作者:
张瑞"
该系统严格按照国际银行活期存款规则编写,"
如果您什么不懂,请在第一步操作中输入N."
注意:
请按照提示进行操作.否则后果自负!
版权所有,打击盗版!
over();
return;
1.4实验小结(实验遇到的问题,解决方法)
1.调用外部函数时光简单声明不行必需加个外部修饰extern
2.也可调用外部变量同样用extern
3.把定义的函数都放到myheader.H的头文件中声明
实验项目二、银行储蓄系统开户模块设计与实现
2.1库函数描述(原型、功能、头部文件)及其作用
#include<
iostream>
//c++的标准输入输出
stdlib.h>
//c的库函数
string>
//字符串流
conio.h>
//getch()键盘输入屏幕不输出
vector>
//STL中的迭代器
#include<
shlobj.h>
//messagebox()消息框
time.h>
//时间类的头文件
stdio.h>
//c标准输入输出和文件流
usingnamespacestd;
2.2帐户类定义
//帐号类是定义在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()
year<
年"
month<
月"
day<
日"
hour<
时"
minute<
分"
second<
秒"
voidprint1()
//两个时间段相距的天数
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)
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
}
else
}
else
returntrue;
};
//检查输入的字符产是否全是数字
boolchecknum(constchar*);
//重载比较函数
intstrcmp(constchar*s1,constchar*s2);
//钱数大些函数声明
voidreadmoney(char*);
//定义帐号类
classAccount
{
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;
inti;
for(i=0;
30;
{}"
姓名:
name<
身份证号:
ID<
余额:
balance<
余额大写:
readmoney(balance);
开户时间:
time.print();
voidprint2()
上次计息时间(开户时间):
classRem{
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;
if(flag==0)
t.print1();
取款"
money<
元"
if(flag==1)
存款"
//菜单
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编码(必须附加注释)
voidcreaccount()//开户
『欢迎您在此开户』"
charID[20]="
//检查该身份证号是否符合中华人民共和国身份证号码的编制规则
请输入您的身份证号:
ID;
if(checkID(ID))
您的输入有误请重新输入您的身份证号:
//检查是否在此开过户
if(finID(ID))
您已在次开过户。
over();
return;
请输入您的姓名:
stringname;
name;
if(name.length()>
8)
您的输入有误,请重新输入。
constchar*copyname=name.c_str();
//name的首地址且必须是const只读的
请输入您的密码:
注意:
密码更正每人只有三次机会,密码只有六位。
charcod[7]="
flag=0;
//计数
if(flag)
if(flag==3)
您的密码输入有误,"
请输入密码:
cod[i]=getch();
*"
MessageBox(0,"
密码位数已足"
"
提示"
MB_OK|MB_SYSTEMMODAL);
请确认一下密码:
charcopycod[7]="
copycod[i]=getch();
0);
if(strcmp(cod,copycod)!
=0)
flag++;
MessageBox(0,"
恭喜!
密码输入成功!
请输入您的开户金额:
charmoney[20]="
money;
if(checkmoney(money))
您的输入有误,请重新输入:
FILE*fp;
fp=fopen("
D:
\\mybank"
a"
Accounttemp(copyname,ID,cod,money,t);
fwrite(&
temp,sizeof(Account),1,fp);
fclose(fp);
MessageBox(0,"
恭喜您!
在次开户成功!
intjx=MessageBox(0,"
您是否要查看一下您的信息?
1)-2;
if(jx)
temp.print1();
4实验小结(实验遇到的问题,解决方法)
1.在getch()前有时要加入cin.get()防止上次输入被getch()获取
2.对密码和帐号输入后要在数组最后加个“ ”防止数组错误
3.对打开文件是有时用绝对路径'
\\'
表示\
实验项目三银行储蓄系统存款模块设计与实现
3.1库函数描述(原型、功能、头部文件)及其作用
//c的标准输入输出和文件流
//massagebox()消息框的头文件
#include"
myheaer.h"
//全部调用函数
//getch()从控制台读取一个字符,但不显示在屏幕上
3.2编码(必须附加注释)
myheader.H"
voiddeposit()
FILE*fp;
r"
if(fp==NULL)
您尚未在此开户!
=====☆欢迎进入存款模块☆====="
if(finID(ID))