C++银行系统电子报告银行活期储蓄文档格式.docx

上传人:b****5 文档编号:16327342 上传时间:2022-11-22 格式:DOCX 页数:27 大小:20.96KB
下载 相关 举报
C++银行系统电子报告银行活期储蓄文档格式.docx_第1页
第1页 / 共27页
C++银行系统电子报告银行活期储蓄文档格式.docx_第2页
第2页 / 共27页
C++银行系统电子报告银行活期储蓄文档格式.docx_第3页
第3页 / 共27页
C++银行系统电子报告银行活期储蓄文档格式.docx_第4页
第4页 / 共27页
C++银行系统电子报告银行活期储蓄文档格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C++银行系统电子报告银行活期储蓄文档格式.docx

《C++银行系统电子报告银行活期储蓄文档格式.docx》由会员分享,可在线阅读,更多相关《C++银行系统电子报告银行活期储蓄文档格式.docx(27页珍藏版)》请在冰豆网上搜索。

C++银行系统电子报告银行活期储蓄文档格式.docx

intmain()

{

charn;

system("

color3f"

);

//背景颜色

init();

//添加储存文件信息

while(true)

{

menu();

//输出菜单

cin>

>

n;

switch(n)//选择功能

{

case'

1'

:

kh();

break;

//开户

2'

ck();

//存款

3'

qk();

//取款

4'

cx();

//查询

5'

jx();

//计息

6'

px();

//排序

7'

save();

return0;

//退出时保存用户信息

default:

cout<

<

"

输入错误,请重新输入\n"

;

getchar(),getchar();

}

}

menu.cpp

voidmenu()

cls"

cout<

******银行系统主菜单******\n"

<

1:

开户\n"

2:

存款\n"

3:

取款\n"

4:

查询\n"

5:

计息\n"

6:

财富排行榜\n"

7:

退出\n"

}

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

如果将用于接受用户输入选择的变量定义为整型,则当输入非数字字符时候,程序将进入死循环。

办法:

通过switch语句当输入’1-7’字符以外字符时,输出“输入错误,请重新输入”

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

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

kh.cpp

输入身份证并验证是否合法(身份证号长度、组成),合法返回假否则返回真

输入和确认密码,并验证密码是否合法,如果合法则返回假,否则返回真

输入开户金额并验证金额是否合法,合法返回假,否则返回真

头文件:

iostreamstdlib.hvectorPerson.hconio.htime.h

2.2帐户类定义Person

2.3编码(必须附加注释)

#include<

conio.h>

time.h>

externvector<

boolid_ok(string&

a);

boolmima(char[]);

voidkh()

intm,k;

stringt,p,q;

system("

cout<

*********************开户菜单***********************\n"

<

k;

switch(k)

case1:

cout<

请输入您的身份证号(18位数字):

\n"

cin>

t;

if(id_ok(t))//验证身份证号是否合法

{

do

{

system("

chars[20];

cout<

请输入您的密码(6-16位字母,数字):

if(mima(s))//验证密码是否合法

p=s;

请再次输入您的密码:

if(mima(s))

q=s;

if(q!

=p)

cout<

您输入的密码有误,请重新输入!

}

while(q!

=p);

while(true)

请输入您的开户金额(1-99999999元):

cin>

m;

if(m>

0&

&

m<

100000000)

{

Personp(t,q,m);

V.push_back(p);

p.print();

system("

pause"

break;

}

else

{

您输入的金额有误\n"

}

else

system("

cout<

你输入的身份证号码有误\n"

continue;

case2:

return;

您的输入有误\n"

system("

continue;

a)//验证身份证号是否合法

if((int)a.length()!

=18)

returnfalse;

boolk=true;

for(inti=0;

i<

(int)a.length();

++i)

if(a[i]>

'

9'

||a[i]<

0'

k=false;

break;

for(intj=0;

j<

(int)V.size();

++j)

if(V[j].get_id()==a)

k=false;

该用户已存在"

endl;

break;

returnk;

boolmima(chars[])//验证密码是否合法

charch;

intp=0;

while((ch=getch())!

='

\r'

s[p++]=ch;

putch('

*'

s[p]='

\0'

if(p<

6&

p>

16)

您输入的密码不符合要求!

returntrue;

}

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

在判断当前用户是否开过户时,未遍历所有记录而做出结论

方法:

通过两个for循环分别比较参数a与数组V中的每个id,若完全相等,则输出"

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

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

ck.cpp

功能:

验证身份证是否存在

验证输入存款金额是否合法

iostreamvectorstringstdlib.hPerson.h

3.2编码(必须附加注释)

string>

voidck()

**************存款主菜单*****************\n"

switch(n)

请输入您的身份证号\n"

stringt;

boolkey=false;

intj;

for(inti=0;

if(V[i].get_id()==t)//验证身份证号是否一致

j=i;

key=true;

break;

if(key)

请输入您的存款金额(1-10000000元):

intn;

if(n<

=10000000&

n>

0)

V[j].in_money(n);

操作成功\n"

该用户不存在\n"

}break;

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

实验项目四银行活期储蓄系统取款模块设计与实现

4.1库函数描述(原型、功能、头部文件)

qk.cpp

功能:

同时验证身份证和密码是否完全一致

验证取款金额是否合法且小于存款数

iostreamvectorPerson.hstringconio.h

stdlib.h

4.2编码(必须附加注释)

inlinevoidmima(chars[])//内联函数

voidqk()

inttmp,money;

stringt,p;

****************取款主菜单********************\n"

//清屏

请输入您的身份证号码及密码:

cin>

chars[20];

mima(s);

p=s;

boolkey=false;

for(inti=0;

if(V[i].get_id()==t&

V[i].get_key()==p)//验证身份证号和密码是否一致

key=true;

tmp=i;

if(key)

while(true)

请输入您的取款金额:

cin>

money;

if(money>

V[tmp].get_money()>

=money)//取款数小于等于存款数

{

V[tmp].out_money(money);

cout<

操作成功!

system("

break;

}

else

您输入的金额有误!

else

您输入的身份证号码或密码错误!

return;

您输入的信息错误\n"

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

在查询用户时未将身份证号码和密码同时验证。

通过“V[i].get_id()==t&

V[i].get_key()==p”语句同时验证身份证号和密码

实验项目五银行活期储蓄系统计息模块设计与实现

5.1库函数描述(原型、功能、头部文件)

jx.cpp

获取系统时间,计算利息

iostreamPerson.hvectortime.hstdlib.hget_days.h

5.2编码(必须附加注释)

#include<

get_days.h"

constdoubleYlilv=0.01;

//年利率

voidjx()

if(V.size())

time_tt=time(NULL);

//得到当前系统时间

tm*T=gmtime(&

t);

inttmp;

for(inti=0;

tmp=get_days(V[i],T->

tm_year+1900,T->

tm_yday+1);

//当前时间-开户时间,得到储蓄时间

V[i].myset(tmp,Ylilv);

//调用类的成员函数,计算利息,修改总金

计息操作成功!

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

实验项目六银行活期储蓄系统查询模块设计与实现

6.1库函数描述(原型、功能、头部文件)

cx.cpp

实现查询用户的当前存款余额并以人民币大写的形式输出

iostreamstringvectorPerson.h

6.2编码(必须附加注释)

chardx[10][3]={"

零"

"

壹"

贰"

叁"

肆"

伍"

陆"

柒"

捌"

玖"

};

chardw[8][5]={"

元"

十"

百"

千"

万"

十万"

百万"

千万"

chartail[5]="

元整"

inta[4];

voidmyprint(intn);

voidcx()

***************查询主菜单******************\n"

请输入您的身份证号及密码:

t>

p;

V[i].get_key()==p)

myprint(V[i].get_money());

//打印存款数

if(!

key)

您输入的身份证号或密码错误!

您输入的信息有误!

voidset(intt,int&

i,int&

ten)

memset(a,0,sizeof(a));

while(t)//将组成金额的数值分离出来

a[i++]=t%10;

t/=10;

ten*=10;

voidprint4bit(int&

t,int&

boolkey=true;

for(intj=i-1;

j>

0;

--j)

t%=ten;

if(a[j]==0&

key&

t)

dx[0];

key=false;

else

if(a[j])

key=true;

dx[a[j]]<

dw[j];

if(t==0)

ten/=10;

if(a[0])

dx[a[0]];

voidmyprint(intn)//打印存款数

if(n==0)

您的账户上的金额为零\n"

return;

if(n>

=100000000)

金额过大\n"

您账户上的金额为:

intt,i,ten;

=10000)

t=n/10000,i=0,ten=1;

set(t,i,ten);

//ten=ten/10

print4bit(t,i,ten);

dw[4];

if(n%10000==0)

tail<

return;

t=n%10000,i=0,ten=1;

set(t,i,ten);

ten/=10;

if(i<

4&

print4bit(t,i,ten);

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

实验项目七银行活期储蓄系统富豪排行榜模块设计与实现

7.1库函数描述(原型、功能、头部文件)

px.cpp

将现有储户按照余额以为降序排序。

iostreamstringPerson.hvectoralgorithm

7.2编码(必须附加注释)

algorithm>

inlineboolcmp(Persona,Personb)

returna.get_total()>

b.get_total();

//约定按照用户的总金额排序

voidpx()

***************财富排行榜*******************\n"

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

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1