您的位置:首页 > 编程语言 > C语言/C++

菜鸟级C语言银行管理系统

2016-06-30 20:12 411 查看
/*
* Copyright (c) 2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp
* 作    者:赵志君
* 完成时间:2016年6月30日
* 版 本 号:v1.0
*
* 问题描述:银行管理系统
*/
#include<stdio.h>
#include<string.h>
int mingyan();   //用户名验证
int guayan(int);   //挂失验证
int miyan(int);     //密码函数

void qukuan();      //取款函数
void cunkuan();     //存款函数
void chaxun();      //查询函数
void xiaohu();      //销户函数
void kaihu();       //开户函数
void zhuanzhang();  //转账函数
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;                 //挂失用户数

void main()
{
denglu();
int zhiling;          //命令

while(zhiling)
{
printf(" ================================================================ \n");
printf("||                                                              ||\n");
printf("||         <1> 取款          <4> 开户          <7> 挂失         ||\n");
printf("||         <2> 存款          <5> 销户          <8> 解挂         ||\n");
printf("||         <3> 查询          <6> 转账          <0> 退出         ||\n");
printf("||         <9> 查询所有用户信息                                 ||\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:                                        //销户
xiaohu();
break;
case 6:                                        //转账
zhuanzhang();
break;
case 7:                                        //挂失
guashi();
break;
case 8:                                        //解挂
jiegua();
break;
case 9:                                        //查询所有用户信息
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]);
}
}

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 xiaohu()    //销户
{
int i,n,m;
i=mingyan();
m=guayan(i);
if(m==1)
m=miyan(i);
while(m==1)
{
printf("您确定要注销您的账户?\n   <1>确认    <2>取消   \n");
scanf("%d",&n);
if(n==1)
{
for(;i<UserShu;i++)
{
strcpy(gUser[i],gUser[i+1]);
strcpy(gMima[i],gMima[i+1]);
YuE[i]=YuE[i+1];
}
}
UserShu--;
printf("销户成功!\n");
m=0;
}
}

void zhuanzhang()      //转账
{
int i,n,j,s=1;
float k;
char User[32];
i=mingyan();
n=guayan(i);
if(n==1)
n=miyan(i);
while(n==1)
{
printf("请输入目标账户:");
scanf("%s",User);
for(j=0;j<UserShu;j++)
{
if(strcmp(gUser[j],User)==0)
{
n=2;
break;
}
}
if(j==UserShu)
printf("目标账户不存在,请重新输入。\n");
}
while(n==2)
{
printf("请输入转账金额:");
scanf("%f",&k);
if(k<=YuE[i])
{
YuE[i]=YuE[i]-k;
YuE[j]=YuE[j]+k;
printf("转账成功!\n您的当前余额为: %.2f\n",YuE[i]);
break;
}
else
printf("余额不足,请重新输入。\n");
}
}

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


心得体会:

  这是大一上学期刚刚开始学习编程时的一个实训项目,里边的功能相对简单。作为一个编程菜鸟,看到这个自己更菜的时候写的代码,感觉也是很有意思的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: