You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

280 lines
5.6 KiB

#include<stdio.h>
#include<string.h>
int mingyan();
int guayan(int);
int miyan(int);
void qukuan();
void cunkuan();
void chaxun();
void kaihu();
void guashi();
void jiegua();
void tuichu();
void chaall();
void denglu();
char gUser[100][32];
char gMima[100][32];
char Ggua[100][32];
float YuE[100];
int UserShu=0;
int guashu=0;
int main()
{
denglu();
int zhiling;
while(zhiling)
{
printf(" ================================================================ \n");
printf("|| ||\n");
printf("|| <1> 取款 <4> 开户 ||\n");
printf("|| <2> 存款 <5> 挂失 ||\n");
printf("|| <3> 查询 <6> 解挂 <0> 退出 ||\n");
printf("|| <7> 查询所有用户信息 ||\n");
printf("|| ||\n");
printf(" ================================================================ \n");
printf("请输入您的指令: ");
scanf("%d",&zhiling);
printf("\n");
switch(zhiling)
{
case 1:
qukuan();
break;
case 2:
cunkuan();
break;
case 3:
chaxun();
break;
case 4:
kaihu();
break;
case 5:
guashi();
break;
case 6:
jiegua();
break;
case 7:
chaall();
break;
}
}
}
void denglu()
{
char zhanghu[32],mima[32];
int m=1;
while(m==1)
{
printf(" ================================================================ \n");
printf("|| ||\n");
printf("|| 银行账户信息管理系统 ||\n");
printf("|| ||\n");
printf("|| ||\n");
printf("|| ||\n");
printf(" ================================================================ \n\n");
printf("请输入管理员名: ");
scanf("%s",zhanghu);
printf("请输入管理员密码: ");
scanf("%s",mima);
printf("\n");
if(strcmp(zhanghu,mima)==0)
{
printf(" 登陆成功! \n ");
printf("▁▁▁▂▂▂▃▃▃▄▄▄▅▅▅▆▆▆▇▇▇████\n\n ");
m=0;
}
}
}
void qukuan()
{
int i,m;
float n;
i=mingyan();
m=guayan(i);
if(m==1)
m=miyan(i);
while(m==1)
{
printf("请输入您的取款金额: ");
scanf("%f",&n);
if(n<=YuE[i])
{
printf("请取走您的钞票。\n");
YuE[i]=YuE[i]-n;
break;
}
else
printf("您的余额不足,请重新输入。\n");
}
}
void cunkuan()
{
int i,m;
float n;
i=mingyan();
m=guayan(i);
if(m==1)
m=miyan(i);
while(m==1)
{
printf("请输入您的存款金额: ");
scanf("%f",&n);
YuE[i]=YuE[i]+n;
printf("存款成功!");
printf("您的当前余额为: %.2f\n",YuE[i]);
break;
}
}
void chaxun()
{
int i,m;
i=mingyan();
m=guayan(i);
if(m==1)
m=miyan(i);
}
void kaihu()
{
int i,n=UserShu,j=0;
float m;
char User[32],mima1[32],mima2[32];
printf("请输入您的用户名: ");
getchar();
scanf("%s",User);
for(i=0;i<n+1;i++)
{
if(strcmp(User,gUser[i])==0)
{
printf("该用户名已存在\n");
break;
}
else
{
strcpy(gUser[UserShu],User);
while(j!=1)
{
printf("请输入您的密码: ");
scanf("%s",mima1);
printf("请再次输入您的密码: ");
scanf("%s",mima2);
if(strcmp(mima1,mima2)==0)
{
printf("密码设置成功\n");
printf("请输入您的存款金额: ");
scanf("%f",&m);
strcpy(gMima[UserShu],mima1);
YuE[UserShu]=m;
j=1;
}
else
printf("两次输入不相同,请重新输入。\n ");
}
UserShu++;
break;
}
}
}
void guashi()
{
int n,i,m;
i=mingyan();
m=guayan(i);
if(m==1)
m=miyan(i);
if(m==1)
{
printf("您确定要挂失您的账户?\n <1>确认 <2>取消 \n");
scanf("%d",&n);
if(n==1)
{
strcpy(Ggua[guashu],gUser[i]);
guashu++;
printf("%s 账户挂失成功!\n",gUser[i]);
}
}
}
void jiegua()
{
int i,m,j;
i=mingyan();
m=guayan(i);
if(m==0)
m=miyan(i)+1;
if(m==2)
{
for(j=0;j<guashu;j++)
{
if(strcmp(gUser[i],Ggua[j])==0)
break;
}
for(;j<guashu;j++)
strcpy(Ggua[j],Ggua[j+1]);
printf("%s 账户解挂成功!\n",gUser[i]);
guashu--;
}
}
void tuichu()
{
}
void chaall()
{
int i;
for(i=0;i<UserShu;i++)
printf("用户名:%15s 余额:%.2f\n",gUser[i],YuE[i]);
}
int mingyan()
{
int m=1,i;
char User[32];
while(m==1)
{
printf("请输入您的用户名: ");
scanf("%s",User);
for(i=0;i<UserShu;i++)
if(strcmp(gUser[i],User)==0)
{
m=0;
break;
}
if(i==UserShu)
printf("该用户不存在,请确认后再输入。 \n");
}
return i;
}
int guayan(int i)
{
int j,n;
for(j=0;j<guashu;j++)
{
if(strcmp(gUser[i],Ggua[j])==0)
{
printf("此用户已经挂失,请解挂后再进行操作!\n");
n=0;
break;
}
}
if(j==guashu)
n=1;
return n;
}
int miyan(int i)
{
char mima[32];
while(1)
{
printf("请输入您的密码: ");
scanf("%s",mima);
if(strcmp(gMima[i],mima)==0)
{
printf("登陆成功!\n");
printf("用户名:%s 余额: %.2f \n",gUser[i],YuE[i]);
break;
}
else
printf("您输入的密码不正确,请重新输入。\n");
}
return 1;
}