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

Posted 南笙一梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟级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[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;


心得体会:

  这是大一上学期刚刚开始学习编程时的一个实训项目,里边的功能相对简单。作为一个编程菜鸟,看到这个自己更菜的时候写的代码,感觉也是很有意思的。

以上是关于菜鸟级C语言银行管理系统的主要内容,如果未能解决你的问题,请参考以下文章

c ++:如何获得余额(在银行系统中)

C语言银行管理系统

java 编程

编写一个类似银行账户的程序,属性:账号 储户姓名 地址 存款余额 利率。方法:存款 取款查询余额计算利息

c语言 设计一个银行管理系统

JAVA 银行存取款