简单的银行管理系统的C语言代码.docx

上传人:b****4 文档编号:5039595 上传时间:2022-12-12 格式:DOCX 页数:18 大小:18.74KB
下载 相关 举报
简单的银行管理系统的C语言代码.docx_第1页
第1页 / 共18页
简单的银行管理系统的C语言代码.docx_第2页
第2页 / 共18页
简单的银行管理系统的C语言代码.docx_第3页
第3页 / 共18页
简单的银行管理系统的C语言代码.docx_第4页
第4页 / 共18页
简单的银行管理系统的C语言代码.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

简单的银行管理系统的C语言代码.docx

《简单的银行管理系统的C语言代码.docx》由会员分享,可在线阅读,更多相关《简单的银行管理系统的C语言代码.docx(18页珍藏版)》请在冰豆网上搜索。

简单的银行管理系统的C语言代码.docx

简单的银行管理系统的C语言代码

简单的银行管理系统的C语言代码

#include

#include

#include

#include

#defineN10000

structchuhu//储户结构信息

{

charidnum[9];//帐号

charpassword[7];//密码

charname[11];//储户姓名

charidnumber[19];//储户身份证号码

doublecunkuan;//存款金额

intlei;//储种

charaddress[51];//储户地址

charTel[15];//储户的联系电话

doublelilv;//利率

}hu[N];//储户结构数组

voidxitong();

intrrekey();

voidkaifa();//开发人员

voidcekong();

intyanzheng();//验证帐号和密码

voiddate();//显示当前日期和时间

voidinsert();//开户函数

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;

printf("请创建原始密码:

");

scanf("%d",&k);

fprintf(fkey,"%d\n",k);

fclose(fkey);

}

intmain()//输出主菜单

{

FILE*fkey=fopen("key.txt","r");

intt=0;

intmima;//输入的密码

system("cls");

system("colorf0");//设置系统背景为白色

date();kaifa();

printf("\n\n\n\n\n");

printf("\t\t银行定期储蓄管理系统\n");//界面1

printf("\n\n\n\n\n\n\n\n");

printf("按ENTER键进入下一界面→");

fflush(stdin);//功能:

清空输入缓冲区

scanf("%c",&ch);

if(!

fkey)

{

printf("密码文件不存在,系统已自创\n");

xitong();

menu();

return0;

}

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);

if(mima==key)

t=1;

system("cls");

}//认证成功

fclose(fkey);

menu();

return0;

}

voidmenu()

{

inta,b;//选择功能的变量

do{

printf("\n\n按ENTER键进入/返回主菜单→:

");

fflush(stdin);

scanf("%c",&ch);

system("cls");//清屏

system("colorf0");

date();

printf("\n\t\t\t\t主菜单\n\n");

printf("\t\t 1、开户\n");//主菜单界面(界面3)

printf("\t\t 2、查询\n");

printf("\t\t 3、用户密码验证\n");

printf("\t\t 4、存款\n");

printf("\t\t 5、取款\n");

printf("\t\t 6、查看利率表\n");

printf("\t\t 7、管理员修改密码\n");

printf("\t\t 0、退出程序\n");

printf("请选择功能(0-7):

→");

fflush(stdin);

scanf("%d",&a);

switch(a)//选择功能

{

case1:

//选择功能后调用相应的函数

insert();

break;

case2:

display();

break;

case3:

b=yanzheng();

break;

case4:

b=yanzheng();

in(b);

break;

case5:

b=yanzheng();

out(b);

break;

case6:

lilvbiao();

break;

case7:

rrekey();

break;

case0:

system("cls");

system("colorf0");

date();

printf("\n\n\n\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‖‖\n");

printf("\t==========================================================");

cekong();

printf("您真的要退出吗(y/n)?

");

fflush(stdin);

scanf("%c",&ch);

system("cls");

break;

default:

system("cls");

printf("\n\n\t您的输入有误,请正确选择功能……");

break;

}

if(a==0&&(ch=='y'||ch=='Y'))

{

system("colorf0");

date();kaifa();

printf("\n\n\n\n\t欢迎下次再使用!

");

cekong();

break;

}

}while

(1);

}

voidinsert()//开户

{

FILE*nchuhu=fopen("chuhu.txt","r");

FILE*fchuhu=fopen("chuhu.txt","a");

inti;

if((nchuhu=fopen("chuhu.txt","r"))==NULL)

{

printf("文件不存在,系统将创建.\n");

}

do{

system("cls");//清屏

system("colorf0");//设置系统背景为白色

date();

printf("\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);

printf("\n\n\t\t储户存单:

");

fflush(stdin);

gets(hu[A].idnum);

printf("\n\t\t储户密码(6位):

");

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

{

fflush(stdin);

hu[A].password[i]=getch();

printf("*");

}

hu[A].password[6]='\0';

fflush(stdin);

scanf("%c",&ch);

printf("\n\t\t姓名:

");

fflush(stdin);

gets(hu[A].name);

do{

printf("\n\t\t储户身份证号码(18位):

");

fflush(stdin);

gets(hu[A].idnumber);

if(strlen(hu[A].idnumber)!

=18)

printf("\n\t\t输入错误!

\n\t\t身份证请输入18位数字或字母\n");

for(i=0;i

if(strcmp(hu[A].idnumber,hu[i].idnumber)==0&&strcmp(hu[A].name,hu[i].name)!

=0)

break;

if(i

printf("\n\n\t\t前面已有一个不同姓名的储户的身份证号为此号码,\n\t\t同一个身份证号不可以有不同的姓名,\n\n\t\t请重新输入身份证号:

\n");

}while(strlen(hu[A].idnumber)!

=18||(strcmp(hu[A].idnumber,hu[i].idnumber)==0&&strcmp(hu[A].name,hu[i].name)!

=0));

printf("\n\t\t存单金额:

");

fflush(stdin);

scanf("%lf",&hu[A].cunkuan);

printf("\n\t\t储户电话:

");

fflush(stdin);

gets(hu[A].Tel);

printf("\n\t\t储户地址:

");

fflush(stdin);

gets(hu[A].address);

printf("\n\t\t储种:

");

printf("\n\t\t\t1、一年定期");

printf("\n\t\t\t2、两年定期");

printf("\n\t\t\t3、三年定期");

printf("\n\t\t\t4、四年定期");

printf("\n\t\t\t5、五年定期");

do{

printf("\n\t\t请选择(1-5):

");

fflush(stdin);

scanf("%d",&hu[A].lei);

if(hu[A].lei<1||hu[A].lei>5)

printf("\n\n\t\t您选择错误,请正确选择!

!

");

}while(hu[A].lei<1||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;

printf("\n\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++;

printf("\n是否继续(y/n)?

");

fflush(stdin);

scanf("%c",&ch);

}while(ch=='y'||ch=='Y');

printf("存入成功\n");

system("pause");

system("cls");

fclose(nchuhu);

fclose(fchuhu);

}

voiddisplay()//按存单号查询

{

FILE*fchuhu=fopen("chuhu.txt","r");

inti,n=0;

charfnumb[9];

system("cls");

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

{

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);

}

printf("请输入您需要查找的存单号:

");

scanf("%s",&fnumb);

printf("\t\t\t存单信息:

\n");

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

if(strcmp(fnumb,hu[i].idnum)==0)

{

printf("存单编号:

%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;

break;

}

if(n==0)

printf("此存单不存在\n");

printf("\n\n\t注:

储种中数字的含义为:

\n\n\t0:

活期1:

一年定期2:

两年定期3:

三年定期4:

五年定期");

fclose(fchuhu);

}

voidin(intcount)//存款

{

FILE*fchuhu=fopen("chuhu.txt","r");

FILE*achuhu=fopen("back.txt","w");

charid[9];inti;

if(!

fchuhu)

{

printf("不能打开文件");

}

if(!

achuhu)

{

printf("不能创建新文件");

}

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

{

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);

}

if(count<1)

{

date();

printf("请再次输入并确认存单:

");

scanf("%s",&id);

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

{

if(strcmp(id,hu[i].idnum)==0)

{

do{

printf("\n\n\t\t请输入存款金额:

");

fflush(stdin);

scanf("%lf",&jin);

if(jin<0)

printf("\n\n\n\t\t存款不能为负数");

}while(jin<0);

if(jin>=0)

{

hu[i].cunkuan+=jin;

printf("\n\n\t\t\t您存款成功!

\n\n\t\t本次存入金额为:

%.2f\n",jin);

printf("存单上共有:

%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("back.txt","chuhu.txt");

}

voidout(intcount)//取款

{

FILE*fchuhu=fopen("chuhu.txt","r");

FILE*achuhu=fopen("back.txt","w");

inti;

charid[9];

if(!

fchuhu)

{

printf("不能打开文件");

}

if(!

achuhu)

{

printf("不能创建新文件");

}

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

{

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);

}

if(count<1)

{

date();

printf("请再次输入并确认存单:

");

scanf("%s",&id);

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

{

if(strcmp(id,hu[i].idnum)==0)

{

hu[i].cunkuan+=hu[i].lilv*hu[i].lei*hu[i].cunkuan;

printf("取出%f元",hu[i].cunkuan);

hu[i].cunkuan=0;

printf("\n\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);

}

}

fclose(fchuhu);

fclose(achuhu);

system("delchuhu.txt");

rename("back.txt","chuhu.txt");

}

voidlilvbiao()//利率表

{

system("cls");

system("colorf0");

date();

printf("\n\n\n\t\t\t利率对照表:

\n");

printf("\t≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");

printf("\t‖‖定期‖\n");

printf("\t‖储种‖ˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖\n");

printf("\t‖‖一年‖二年‖三年‖四年‖五年‖\n");

printf("\t‖ˉˉˉˉ‖ˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉ‖\n");

printf("\t‖利率(%%%)‖1.25‖1.98‖2.25‖2.52‖2.79‖\n");

printf("\t≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");

printf("\n\t说明:

定期只能在储年到期时取出\n");

}

intyanzheng()//验证存单号或密码

{

FILE*fchuhu=fopen("chuhu.txt","r");

intcount=0,i;

charid[9];

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

{

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);

}

do{

system("cls");

system("colorf0");

printf("存单号或密码错误将自动返回\n");

printf("\n\n\t\t请输入您的存单号:

");

scanf("%s",&id);

printf("\n\n\t\t请输入您的密码:

");

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

{

fflush(stdin);

password[i]=getch();

printf("*");

}

password[6]='\0';

fflush(stdin);

scanf("%c",&ch);

printf("\n\n\t\t");

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

{

if(strcmp(id,hu[i].idnum)==0&&strcmp(password,hu[i].password)==0)

{

fclose(fchuhu);

return0;

}

}

}while(count==0);

fclose(fchuhu);

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

当前位置:首页 > 求职职场 > 简历

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

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