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

C语言实现银行管理系统

2019-01-30 16:41 417 查看

本文实例为大家分享了C语言实现银行管理系统的具体代码,供大家参考,具体内容如下

/*
* 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)
{
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;
}

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

[i]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 管理系统