1、简单的银行管理系统的C语言代码简单的银行管理系统的C语言代码#include #include #include #include #define N 10000 struct chuhu /储户结构信息 char idnum9; /帐号 char password7; /密码 char name11; /储户姓名 char idnumber19; /储户身份证号码 double cunkuan; /存款金额 int lei; /储种 char address51; /储户地址 char Tel15; /储户的联系电话 double lilv; /利率 huN; /储户结构数组 void xi
2、tong(); int rrekey();void kaifa(); /开发人员 void cekong(); int yanzheng(); /验证帐号和密码 void date(); /显示当前日期和时间void insert(); /开户函数void display(); /显示查询帐户信息的函数void in(int); /存款函数void out(int); /取款函数void lilvbiao(); /查看利率表void menu(); int A=0,key; /A为开户数double jin;char ch=y; /控制是否继续的变量char id11,password7;vo
3、id xitong() FILE *fkey = fopen(key.txt,w+); int k; printf(请创建原始密码:); scanf(%d,&k); fprintf(fkey,%dn,k); fclose(fkey); int main() /输出主菜单 FILE *fkey = fopen(key.txt,r); int t=0; int mima; /输入的密码 system(cls); system(color f0); /设置系统背景为白色 date();kaifa(); printf(nnnnn); printf(tt 银行定期储蓄管理系统 n); /界面1 prin
4、tf(nnnnnnnn); printf(按ENTER键进入下一界面); fflush(stdin); /功能:清空输入缓冲区 scanf(%c,&ch); if(!fkey) printf(密码文件不存在,系统已自创n); xitong(); menu(); return 0; system(cls); fscanf(fkey,%d,&key); printf(请输入管理员登录密码:n); scanf(%d,&mima); if(mima=key) t=1; system(cls); for(;t!=1;) printf(管理员密码错误,请重新输入:n); scanf(%d,&mima);
5、if(mima=key) t=1; system(cls); /认证成功 fclose(fkey); menu();return 0;void menu() int a,b;/选择功能的变量 do printf(nn按ENTER键进入/返回主菜单:); fflush(stdin); scanf(%c,&ch); system(cls); /清屏 system(color f0); date(); printf(ntttt主菜单nn); printf(tt 1、 开户 n);/主菜单界面(界面3) printf(tt 2、 查询 n); printf(tt 3、 用户密码验证 n); print
6、f(tt 4、 存款 n); printf(tt 5、 取款 n); printf(tt 6、 查看利率表 n); printf(tt 7、 管理员修改密码 n); printf(tt 0、 退出程序 n); printf(请选择功能(0-7): ); fflush(stdin); scanf(%d,&a); switch(a) /选择功能 case 1: /选择功能后调用相应的函数 insert(); break; case 2: display(); break; case 3: b=yanzheng(); break; case 4: b=yanzheng(); in(b); break
7、; case 5: b=yanzheng(); out(b); break; case 6: lilvbiao(); break; case 7: rrekey(); break; case 0: system(cls); system(color f0); date(); printf(nnnt=n); printf(t n); printf(t n); printf(t n); printf(t n);printf(t 谢 谢 使 用 n);printf(t n); printf(t n); printf(t n); printf(t n); printf(t n); printf(t=)
8、; cekong(); printf(您真的要退出吗(y/n)? ); fflush(stdin); scanf(%c,&ch); system(cls); break; default: system(cls); printf(nnt您的输入有误,请正确选择功能); break; if(a=0&(ch=y|ch=Y) system(color f0); date();kaifa(); printf(nnnnt 欢 迎 下 次 再 使 用 ! ); cekong(); break; while(1); void insert() /开户 FILE *nchuhu = fopen(chuhu.t
9、xt,r); FILE *fchuhu = fopen(chuhu.txt,a); int i; if(nchuhu=fopen(chuhu.txt,r)=NULL) printf(文件不存在,系统将创建.n); do system(cls); /清屏 system(color f0); /设置系统背景为白色 date(); printf(nntt请输入新储户的信息:); fscanf(nchuhu,%st%st%st%st%lft%st%st%dt%lfn,&huA.idnum,&huA.password,&huA.name,&huA.idnumber,&huA.cunkuan,&huA.T
10、el,&huA.address,&huA.lei,&huA.lilv); printf(nntt储户存单: ); fflush(stdin); gets(huA.idnum); printf(ntt储户密码(6位): ); for(i=0;i6;i+) fflush(stdin); huA.passwordi=getch(); printf(*); huA.password6=0; fflush(stdin); scanf(%c,&ch); printf(ntt姓名: ); fflush(stdin); gets(huA.name); do printf(ntt储户身份证号码(18位): );
11、 fflush(stdin); gets(huA.idnumber); if(strlen(huA.idnumber)!=18) printf(ntt输入错误!ntt身份证请输入18位数字或字母n); for(i=0;iA;i+) if(strcmp(huA.idnumber,hui.idnumber)=0&strcmp(huA.name,hui.name)!=0) break; if(iA) printf(nntt前面已有一个不同姓名的储户的身份证号为此号码,ntt同一个身份证号不可以有不同的姓名,nntt请重新输入身份证号:n); while(strlen(huA.idnumber)!=1
12、8|(strcmp(huA.idnumber,hui.idnumber)=0&strcmp(huA.name,hui.name)!=0); printf(ntt存单金额: ); fflush(stdin); scanf(%lf,&huA.cunkuan); printf(ntt储户电话: ); fflush(stdin); gets(huA.Tel); printf(ntt储户地址: ); fflush(stdin); gets(huA.address); printf(ntt储种: ); printf(nttt1、 一年定期); printf(nttt2、 两年定期); printf(ntt
13、t3、 三年定期); printf(nttt4、 四年定期); printf(nttt5、 五年定期); do printf(ntt请选择(1-5): ); fflush(stdin); scanf(%d,&huA.lei); if(huA.lei5) printf(nntt您选择错误,请正确选择!); while(huA.lei5); if(huA.lei=5) huA.lilv=0.0279 ; if(huA.lei=4) huA.lilv=0.0252 ; if(huA.lei=3) huA.lilv=0.0225 ; if(huA.lei=2) huA.lilv=0.0198 ; if
14、(huA.lei=1) huA.lilv=0.0125 ; printf(ntt利 率 为:%f,huA.lilv); fprintf(fchuhu,%st%st%st%st%lft%st%st%dt%fn,huA.idnum,huA.password,huA.name,huA.idnumber,huA.cunkuan,huA.Tel,huA.address,huA.lei,huA.lilv); A+; printf(n是否继续(y/n)? ); fflush(stdin); scanf(%c,&ch); while(ch=y|ch=Y); printf(存入成功n); system(paus
15、e); system(cls); fclose(nchuhu); fclose(fchuhu);void display() /按存单号查询 FILE *fchuhu = fopen(chuhu.txt,r); int i,n=0; char fnumb9; system(cls); for(i=0;i=100;i+) fscanf(fchuhu,%st%st%st%st%lft%st%st%dt%lfn,&hui.idnum,&hui.password,&hui.name,&hui.idnumber,&hui.cunkuan,&hui.Tel,&hui.address,&hui.lei,&h
16、ui.lilv); printf(请输入您需要查找的存单号:); scanf(%s,&fnumb); printf(ttt存单信息:n); for(i=0;i=99;i+) if(strcmp(fnumb,hui.idnum)=0) printf(存单编号:%sn密码:*(已隐藏)n用户姓名:%sn身份证号:%sn存入金额:%fn手机号码:%sn用户住址:%sn储种:%dn利率:%fnnn,hui.idnum,hui.name,hui.idnumber,hui.cunkuan,hui.Tel,hui.address,hui.lei,hui.lilv); n=1; break; if(n=0)
17、printf(此存单不存在n); printf(nnt注: 储种中数字的含义为:nnt0: 活期 1: 一年定期 2: 两年定期 3: 三年定期 4: 五年定期); fclose(fchuhu); void in(int count) /存款 FILE *fchuhu = fopen(chuhu.txt,r); FILE *achuhu = fopen(back.txt,w); char id9;int i; if(!fchuhu) printf(不能打开文件); if(!achuhu) printf(不能创建新文件); for(i=0;i=100;i+) fscanf(fchuhu,%st%
18、st%st%st%lft%st%st%dt%lfn,&hui.idnum,&hui.password,&hui.name,&hui.idnumber,&hui.cunkuan,&hui.Tel,&hui.address,&hui.lei,&hui.lilv); if(count1) date(); printf(请再次输入并确认存单:); scanf(%s,&id); for(i=0;i=100;i+) if(strcmp(id,hui.idnum)=0 ) do printf(nntt请输入存款金额: ); fflush(stdin); scanf(%lf,&jin); if(jin0) p
19、rintf(nnntt存款不能为负数); while(jin=0) hui.cunkuan+=jin; printf(nnttt您存款成功!nntt本次存入金额为: %.2fn,jin); printf(存单上共有:%f,hui.cunkuan); fprintf(achuhu,%st%st%st%st%ft%st%st%dt%fn,hui.idnum,hui.password,hui.name,hui.idnumber,hui.cunkuan,hui.Tel,hui.address,hui.lei,hui.lilv); fclose(fchuhu); fclose(achuhu); syst
20、em(del chuhu.txt); rename(back.txt,chuhu.txt);void out(int count) /取款 FILE *fchuhu = fopen(chuhu.txt,r); FILE *achuhu = fopen(back.txt,w); int i; char id9; if(!fchuhu) printf(不能打开文件); if(!achuhu) printf(不能创建新文件); for(i=0;i=100;i+) fscanf(fchuhu,%st%st%st%st%lft%st%st%dt%lfn,&hui.idnum,&hui.password,
21、&hui.name,&hui.idnumber,&hui.cunkuan,&hui.Tel,&hui.address,&hui.lei,&hui.lilv); if(count1) date(); printf(请再次输入并确认存单:); scanf(%s,&id); for(i=0;i=99;i+) if(strcmp(id,hui.idnum)=0 ) hui.cunkuan+=hui.lilv*hui.lei*hui.cunkuan; printf(取出%f元,hui.cunkuan); hui.cunkuan=0; printf(nnnt 取款成功); fprintf(achuhu,%
22、st%st%st%st%ft%st%st%dt%fn,hui.idnum,hui.password,hui.name,hui.idnumber,hui.cunkuan,hui.Tel,hui.address,hui.lei,hui.lilv); fclose(fchuhu); fclose(achuhu); system(del chuhu.txt); rename(back.txt,chuhu.txt); void lilvbiao() /利率表 system(cls); system(color f0); date(); printf(nnnttt利率对照表:n); printf(tn);
23、 printf(t 定 期 n); printf(t储 种 n); printf(t 一年 二年 三年 四年 五年 n); printf(t n); printf(t利率(%) 1.25 1.98 2.25 2.52 2.79n); printf(tn); printf(nt说明:定期只能在储年到期时取出n);int yanzheng() /验证存单号或密码 FILE *fchuhu = fopen(chuhu.txt,r); int count=0,i; char id9; for(i=0;i=100;i+) fscanf(fchuhu,%st%st%st%st%lft%st%st%dt%l
24、fn,&hui.idnum,&hui.password,&hui.name,&hui.idnumber,&hui.cunkuan,&hui.Tel,&hui.address,&hui.lei,&hui.lilv); do system(cls); system(color f0); printf(存单号或密码错误将自动返回n); printf(nntt 请输入您的存单号: ); scanf(%s,&id); printf(nntt 请输入您的密码: ); for(i=0;i6;i+) fflush(stdin); passwordi=getch(); printf(*); password6=0; fflush(stdin); scanf(%c,&ch); printf(nntt); for(i=0;i=99;i+) if(strcmp(id,hui.idnum)=0 &strcmp(password,hui.password)=0) fclose(fchuhu); return 0; while(count=0);fclose(fchuhu);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1