简单的银行管理系统的C语言代码Word格式文档下载.docx
《简单的银行管理系统的C语言代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《简单的银行管理系统的C语言代码Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
![简单的银行管理系统的C语言代码Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/9/2ef09bbd-a351-4cb5-9305-bc6a1200149c/2ef09bbd-a351-4cb5-9305-bc6a1200149c1.gif)
开户函数//voiddisplay();
//显示查询帐户信息的函数//存款函数voidin(int);
//voidout(int);
取款函数查看利率表//voidlilvbiao();
voidmenu();
intA=0,key;
//A为开户数doublejin;
charch='
y'
;
控制是否继续的变量//
charid[11],password[7];
voidxitong()
{
FILE*fkey=fopen(key.txt,w+);
intk;
牰湩晴尨请创建原始密码:
);
scanf(%d,&
k);
fprintf(fkey,%d\n,k);
fclose(fkey);
}
intmain()//输出主菜单
{
FILE*fkey=fopen(key.txt,
intt=0;
intmima;
//输入的密码
system(cls);
system(colorf0);
//设置系统背景为白色
date();
kaifa();
printf(\
\n\n\n\n);
printf(\\t银行定期储蓄管理系统1界面\n);
//printf(\
\n\n\n\n\n\n\n);
键进入下一界面→牰湩晴尨按ENTERfflush(stdin);
清空输入缓冲区//功能:
scanf(%c,&
ch);
if(!
fkey)
\n);
密码文件不存在,系统已自创牰湩晴尨xitong();
menu();
return0;
system(cls);
fscanf(fkey,%d,&
key);
牰湩晴尨请输入管理员登录密码:
scanf(%d,&
mima);
if(mima==key)
t=1;
for(;
t!
=1;
)
管理员密码错误,请重新输入:
牰湩晴尨
if(mima==key)
t=1;
}//认证成功
menu();
voidmenu()
inta,b;
//选择功能的变量
do{
\n按ENTER键进入/返回主菜单→:
fflush(stdin);
//清
屏system(colorf0);
date();
\t\t\t\t主菜单\n\n);
\n);
//主菜单界面(界面3)开户printf(\\t1、
查询printf(\\t2、
3、用户密码验证printf(\\t
存款printf(\\t4、
printf(\\t5、取款
查看利率表printf(\\t6、
管理员修改密码printf(\\t7、
退出程序printf(\\t0、
(0-7)牰湩晴尨请选择功能:
→
fflush(stdin);
a);
//switch(a)
选择功能{
case
1:
//选择功能后调用相应的函数insert();
break;
case2:
display();
case3:
b=yanzheng();
break;
case4:
in(b);
case5:
out(b);
case6:
lilvbiao();
case7:
rrekey();
case0:
date();
printf(\
\n\n\t==========================================================\n);
printf(\‖‖\n);
printf(\‖谢谢使用‖\n);
printf(\==========================================================);
cekong();
牰湩晴尨您真的要退出吗(y/n)?
);
default:
\n\t您的输入有误,请正确选择功能!
!
……);
}
if(a==0&
&
(ch=='
||ch=='
Y'
))
printf(\
\n\n\n\t欢迎下次再使
用!
}while
(1);
voidinsert()//开户
FILE*nchuhu=fopen(chuhu.txt,
FILE*fchuhu=fopen(chuhu.txt,a);
inti;
if((nchuhu=fopen(chuhu.txt,
))==NULL)
牰湩晴尨文件不存在,系统将创建.\n);
//清屏
\n\t\t请输入新储户的信息:
fscanf(nchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&
hu[A].idnum,&
hu[A].password,
hu[A].name,&
hu[A].idnumber,&
hu[A].cunkuan,&
hu[A].Tel,&
hu[A].address,&
hu[A].lei,&
hu[A].lilv);
\n\t\t储户存单:
gets(hu[A].idnum);
\t\t储户密码(6位):
for(i=0;
i<
6;
i++)
hu[A].password[i]=getch();
printf(*);
hu[A].password[6]='
\0'
\t\t姓名:
gets(hu[A].name);
\t\t储户身份证号码(18位):
gets(hu[A].idnumber);
if(strlen(hu[A].idnumber)!
=18)
\t\t输入错误!
\n\t\t身份证请输入18位数字或字母\n);
A;
if(strcmp(hu[A].idnumber,hu[i].idnumber)==0&
strcmp(hu[A].name,hu[i].name)!
=0)
if(i<
A)
\n\t\t前面已有一个不同姓名的储户的身份证号为此号码,\n\t\t同一个身份证号不可以有不同的姓名,\n\n\t\t请重新输入身份证号:
}while(strlen(hu[A].idnumber)!
=18||(strcmp(hu[A].idnumber,hu[i].idnumber)==0&
=0));
\t\t存单金额:
scanf(%lf,&
hu[A].cunkuan);
:
储户电话printf(\
\t\t
gets(hu[A].Tel);
\t\t储户地址:
gets(hu[A].address);
\t\t储种:
\t\t\t1、一年定期);
\t\t\t2、两年定期);
\t\t\t3、三年定期);
\t\t\t4、四年定期);
\t\t\t5、五年定期);
\t\t请选择(1-5):
hu[A].lei);
if(hu[A].lei<
1||hu[A].lei>
5)
\n\t\t您选择错误,请正确选择!
!
}while(hu[A].lei<
5);
if(hu[A].lei==5)hu[A].lilv=0.0279;
if(hu[A].lei==4)hu[A].lilv=0.0252;
if(hu[A].lei==3)hu[A].lilv=0.0225;
if(hu[A].lei==2)hu[A].lilv=0.0198;
if(hu[A].lei==1)hu[A].lilv=0.0125;
\t\t利率为:
%f,hu[A].lilv);
fprintf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%f\n,hu[A].idnum,hu[A].password,hu[A].name,hu[A].idnumber,hu[A].cunkuan,hu[A].Tel,hu[A].address,hu[A].lei,hu[A].lilv);
A++;
是否继续(y/n)?
}while(ch=='
牰湩晴尨存入成功\n);
system(pause);
fclose(nchuhu);
fclose(fchuhu);
voiddisplay()//按存单号查询
FILE*fchuhu=fopen(chuhu.txt,
inti,n=0;
charfnumb[9];
=100;
fscanf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&
hu[i].idnum,&
hu[i].password,&
hu[i].name,&
hu[i].idnumber,&
hu[i].cunkuan,&
hu[i].Tel,&
hu[i].address,&
hu[i].lei,&
hu[i].lilv);
牰湩晴尨请输入您需要查找的存单号:
scanf(%s,&
fnumb);
printf(\\t\t存单信息:
=99;
if(strcmp(fnumb,hu[i].idnum)==0)
牰湩晴尨存单编号:
%s\n密码:
******(已隐藏)\n用户姓名:
%s\n身份证号:
%s\n存入金额:
%f\n手机号码:
%s\n用户住址:
%s\n储种:
%d\n利率:
%f\n\n\n,hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].cunkuan,hu[i].Tel,hu[i].address,hu[i].lei,hu[i].lilv);
n=1;
if(n==0)
牰湩晴尨此存单不存在!
\n\t注:
储种中数字的含义为:
\n\n\t0:
活期1:
一年定期2:
两年定期3:
三年定期4:
五年定期);
voidin(intcount)//存款
FILE*achuhu=fopen(ack.txt,w);
charid[9];
inti;
if(!
fchuhu)
牰湩晴尨不能打开文件);
achuhu)
牰湩晴尨不能创建新文件);
if(count<
1)
牰湩晴尨请再次输入并确认存单:
id);
if(strcmp(id,hu[i].idnum)==0)
\n\t\t请输入存款金额:
jin);
if(jin<
0)
\n\n\t\t存款不能为负数!
}while(jin<
0);
if(jin>
hu[i].cunkuan+=jin;
\n\t\t\t您存款成功!
\n\n\t\t本次存入金额为:
%.2f\n,jin);
牰湩晴尨存单上共有:
%f,hu[i].cunkuan);
fprintf(achuhu,%s\t%s\t%s\t%s\t%f\t%s\t%s\t%d\t%f\n,hu[i].idnum,hu[i].password,hu[i].
name,hu[i].idnumber,hu[i].cunkuan,hu[i].Tel,hu[i].address,hu[i].lei,hu[i].lilv);
fclose(fchuhu);
fclose(achuhu);
system(delchuhu.txt);
rename(ack.txt,chuhu.txt);
voidout(intcount)//取款
牰湩晴尨请再次输入并确认存单:
hu[i].cunkuan+=hu[i].lilv*hu[i].lei*hu[i].cunkuan;
hu[i].cunkuan);
元%f取出牰湩晴尨
hu[i].cunkuan=0;
\n\n\t取款成功);
fprintf(achuhu,%s\t%s\t%s\t%s\t%f\t%s\t%s\t%d\t%f\n,hu[i].idnum,hu[i].password,hu[i].name,hu[i].idnumber,hu[i].cunkuan,hu[i].Tel,hu[i].address,hu[i].lei,hu[i].lilv);
voidlilvbiao()//利率表
\n\n\t\t\t利率对照表:
printf(\≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n);
printf(\‖‖定期‖\n);
printf(\‖储种‖ˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖\n);
printf(\‖‖一年‖二年‖三年‖四年‖五年‖\n);
printf(\‖ˉˉˉˉ‖ˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉ‖\n);
printf(\‖利率(%%%)‖1.25‖1.98‖2.25‖2.52‖2.79‖\n);
\t说明:
定期只能在储年到期时取出\n);
intyanzheng()//验证存单号或密码
intcount=0,i;
fscanf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&
牰湩晴尨存单号或密码错误将自动返回\n);
\n\t\t请输入您的存单号:
\n\t\t请输入您的密码:
password[i]=getch();
password[6]='
\n\t\t);
if(strcmp(id,hu[i].idnum)==0&
strcmp(password,hu[i].pass