银行小型管理系统
#include <stdio.h>
#include<string.h>
#include<math.h>
void kaihu();//函数
void chaxun();
void cunkuan();
void qukuian();
void zhuanzhang();
void lixi();
void zhaomi();
void gaimi();
void dongjie();
void save();//储存文件函数
int cont=0,cont1=0,interest=0,tra=0,pwdc,mimaa,pwd;
int pwd, select, num = 1, flag = 1,pwd1,cont1;
int money=10000;
struct message
{
char name[20];
char card[18];
char mima1[10];
char mima2[10];
}me;
int main()
{
printf("******************************************************\n");
printf("********************欢迎使用建设银行******************\n");
printf("******************************************************\n");
printf("\n\n\n\n");
printf("******************请选择需要办理的业务****************\n");
printf("-----------------------------------\n");
printf("1、办卡\n");
printf("2、用卡\n");
printf("-----------------------------------\n");
int a1;
printf("请选择:");
scanf("%d",&a1);
system("cls");
if(a1 == 1)
{
kaihu();
}
/*while外循环输入银行卡密码三次,如果密码正确,进入操作界面,再用while控制内循环输入相应操作选项,执行相应操作
case 1 查询余额,case 2 取款 case 3 存款 case 4 转账 case5利息 case6 改密
case 6 退卡 如果前两次密码错误提醒 密码错误,第三次提醒 密码错误三次,请联系银行客服*/
if(a1 == 2)
{
int pwd, select, num = 1, flag = 1,pwd1,cont1;
printf("*************请插卡*************\n");
printf("请设置密码:");
scanf("%d",&pwd);
mimaa=pwd;
system("cls");
while (num <= 3)
{
printf("请输入银行卡密码:");
scanf("%d", &pwd1);
system("cls");
if (pwd == pwd1)
{
printf("-----------------------------------\n");
printf("| 1、查询余额 |\n");
printf("| 2、取款 |\n");
printf("| 3、存款 |\n");
printf("| 4、转账 |\n");
printf("| 5、利息 |\n");
printf("| 6、修改密码 |\n");
printf("| 0、退出 |\n");
printf("-----------------------------------\n");
while (flag == 1)
{
printf("请输入选项:");
scanf("%d", &select);
switch (select)
{
case 1: chaxun();
break;
case 2: qukuan();
break;
case 3:cunkuan();
break;
case 4: zhuanzhang();
break;
case 5: lixi();
break;
case 6: gaimi();
break;
case 0: printf("退卡\n"); printf("请取卡。"); flag = 0;
}
}
break;
}
else
{
if (num < 3)
{
printf("密码错误!\n");
}
else
{
printf("密码错误,请到密码管理中心!\n");
{
int call;
printf("please call 95533\n");
printf(" 1 2 3\n 4 5 6\n 7 8 9 \n");
printf("请输入拨打的电话:");
scanf("%d",&call);
system("cls");
if(call == 95533)
{
printf("******************************************************\n");
printf("********************欢迎来到密码管理中心**************\n");
printf("******************************************************\n");
printf("-----------------------------------\n");
printf("| 1、找回密码 |\n");
printf("| 2、银行卡冻结 |\n");
printf("| 3、退出 |\n");
printf("-----------------------------------\n");
int select1,flag1 = 1,pwdc,pwda1,pwdb1;
while(flag1 == 1)
{
printf("请选择:");
scanf("%d",&select1);
switch(select1)
{
case 1: zhaomi();
break;
case 2: dongjie();
break;
case 3: printf("退出\n"); flag1==0;
}
}
break;
}
}
}
num++;
}
}
}
return 0;
}
void kaihu()
{
int i,j=0;
float m;
FILE *fp;
struct message;
//char User[32],mima1[32],mima2[32];
printf("请输入您的用户名: ");
scanf("%s",&me.name);
printf("请输入身份证号码:");
scanf("%s",&me.card);
while(j!=1)
{
printf("请输入您的密码: ");
scanf("%s",me.mima1);
getchar();
printf("请再次输入您的密码: ");
scanf("%s",me.mima2);
if(strcmp(me.mima1,me.mima2)==0)
{
printf("密码设置成功\n");
printf("请输入您的存款金额: ");
scanf("%f",&m);
j=1;
printf("办卡成功 请取卡。\n");
save();
}
else
printf("两次输入不相同,请重新输入。\n ");
}
}
void save()//储存到文本
{
FILE *fp;
fp=fopen("信息.txt","w"); //文件名
if(fp == NULL)
{
printf("无法打开文件\n");
return;
}
fwrite(&me,sizeof(struct message),10,fp);//数据输入
printf("文件写入完成\n");
fclose(fp);//关闭文件,缓冲区中的数据写入磁盘。
//fclose是一个函数名,功能是关闭一个流。返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。
}
void chaxun()
{
printf("查询余额");
printf("%d\n", money);
}
void qukuan()
{
printf("取款数目:");
//int cont;
scanf("%d", &cont);
printf("余额:%d\n",money - cont);
money-=cont;
}
void cunkuan()
{
printf("存款数目:");
//int cont1;
scanf("%d",&cont1);
printf("余额:%d\n",money + cont1 );
money+=cont1;
}
void zhuanzhang()
{
printf("转账\n");
int kahao,tra,pwd2;
printf("请输入需要转账的银行卡号码:");
scanf("%d",&kahao);
printf("请输入转账的数目:");
scanf("%d",&tra);
printf("请输入密码:");
scanf("%d",&pwd2);
if(pwd2 == mimaa)
{
printf("转账成功。现余额为:%d\n",money-tra);
money-=tra;
}
else
{
printf("!!!密码错误!!!转账失败,请重试!!!\n");
}
}
void lixi()
{
printf("利息\n");
int year,interest,amount;
printf("年利润:0.0225 \n利息:");
printf("请输入您的存款年数");
scanf("%d",&year);
interest=money*pow(1.0225,year)-money;
printf("您的利息为:%d\n",interest);
amount=money+interest;
printf("您的总金为:%d\n",amount);
}
void zhaomi()
{
printf("请输入身份证号码:");
int c1,d1,e1,f1,g1,pwda,pwdb;
scanf("%*6d%4d%1d%1d%1d%1d%*4d",&c1,&d1,&e1,&f1,&g1);
printf("请输入密码:");
scanf("%d",&pwda);
printf("请确认密码:");
scanf("%d",&pwdb);
if(pwda == pwdb)
{
printf("密码修改成功");
}
else
printf("修改失败,请重试!");
}
void gaimi()
{
int pwda1,pwdb1;
printf("请输入原密码:");
scanf("%d",&pwdc);
if(pwdc == mimaa)
{
printf("请输入新密码:"); scanf("%d",&pwda1);
printf("请确认新密码:"); scanf("%d",&pwdb1);
if(pwda1 == pwdb1)
{
printf("密码修改成功");
}
else printf("修改失败,请重试!\n");
}
else printf("原密码输入错误,请重试!\n");
}
void dongjie()
{
printf("请输入身份证号码:");
int a,b,c,d,e,f,g;
scanf("%*6d%4d%1d%1d%1d%1d%*4d",&c,&d,&e,&f,&g);
printf("请确认银行卡是否冻结:\n1. 是\n2.否\n");
int k;
scanf("%d",&k);
if(k == 1)
{
printf("银行冻结成功。\n");
printf("-----------------------------------\n");
printf("| 1、查询余额 |\n");
printf("| 2、取款 |\n");
printf("| 3、存款 |\n");
printf("| 4、转账 |\n");
printf("| 5、利息 |\n");
printf("| 6、打印清单 |\n");
printf("| 0、退出 |\n");
printf("-----------------------------------\n");
int flag2=1,select3;
while(flag2 == 1 )
{
printf("请输入选项:");
scanf("%d",&select3);
switch(select3)
{
case 1:
printf("查询失败,银行卡已冻结!\n"); break;
case 2:
printf("取款失败,银行卡已冻结!\n"); break;
case 3:
printf("存款失败,银行卡已冻结!\n"); break;
case 4:
printf("转账失败,银行卡已冻结!\n"); break;
case 5:
printf("收利失败,银行卡已冻结!\n"); break;
case 6:
printf("列单失败,银行卡已冻结!\n"); break;
case 0: printf("退出\n"); flag2 == 0;
}
}
}
else
printf("银行卡冻结失败");
}