c-银行转账系统

#include<stdio.h>
//全局变量
int key; //循环条件
int n = 0;//账户数
int s = 0; //用 0 和 1 表示退出和进入
int index; //用来表示存款的账户
struct acount {
	int text;   //账号
	int password;  //密码
	int money;   //余额
}person[10];

void zhuce() {   //注册
	printf("请输入要注册的账号:");
	scanf_s("%d", &person[n].text);
	printf("请输入要注册的密码:");
	scanf_s("%d", &person[n].password);
	printf("******注册成功******");
	n++;
}
void Login() { //登录
	int t, p,flag=0;
	if (s == 0) {
		printf("请输入账号:");
		scanf_s("%d", &t);
		printf("请输入密码:");
		scanf_s("%d", &p);
		for (int i = 0; i < n; i++) {
			if (t == person[i].text && p == person[i].password) {
				printf("******登录成功******");
				index = i;
				s = 1;
				break;
			}
			else if (t == person[i].text && p != person[i].password) {
				printf("******密码错误******");
				break;
			}
			else {
				flag++;
			}
		}
		if (flag == n) {
			printf("******该账户不存在******");
		}
	}
	else {
		printf("******您已经登录了系统,请先退出******");
	}
}
void Display() {  //查看用户
	printf("*******************银行账户信息********************\n\n");
	for (int i = 0; i < n; i++) {
		printf("用户账号:%d\t用户密码:%d\t金钱:%d\n",person[i].text,person[i].password,person[i].money);
	}
	printf("***************************************************");
}
void changePassword() { //改密码
	int t, p;  //p原密码,t账号
	int f = 0; //看账户是否存在
	printf("请输入要修改密码的账号:");
	scanf_s("%d", &t);
	printf("请输入原密码:");
	scanf_s("%d", &p);
	for (int i = 0; i < n; i++) {
		if (t == person[i].text) {
			if (p == person[i].password) {
				printf("请输入新密码:");
				scanf_s("%d", &person[i].password);
				printf("******修改成功******");
			}
			else {
				printf("******密码错误******");
			}
		}
		else {
			f++;
		}
	}if (f == n) {
		printf("******该账户不存在******");
	}
}
void  saveMoney() { //存钱
	int c;
	if (s != 0) {
		printf("请输入存款的数目(元):");
		scanf_s("%d",&c);
		person[index].money += c;
		printf("******存款成功*******");
	}else {
		printf("******请先登录账户*******");
	}
}
void exit() {   //退出
	char c = NULL;
	if (s != 0) {
			printf("\n请输入是否要退出当前账户(y/n):");
		while (c != 'y' && c != 'n') {
			scanf_s("%c", &c);
		}
		if (c != 'n') {
			printf("******退出成功*******");
			s = 0;
		}
	}
	else {
		printf("******退出失败,你还未登录******");
	}
}
void quqian() { //取款
	int m; //取款数
	if (s != 0) {
		printf("请输入存款的数目(元):");
		scanf_s("%d",&m);
		if (m<=person[index].money) {
			person[index].money-= m;
			printf("******取款成功******");
		}
		else {
			printf("******余额不足******");
		}
	}
	else {
		printf("******请先登录账户*******");
	}
}
void zhuanqian() { //转账
	int z; //转账的账号
	int f = 0; //看账户是否存在
	int m; //转账的金额
	int flag;
	if (s != 0) {
		printf("请输入要转账的账号:");
		scanf_s("%d", &z);
		for (int i = 0; i < n; i++) {
			if (z == person[i].text) {
				flag = i;
				printf("请输入转账金额:");
				scanf_s("%d",&m);
				if (m <= person[index].money) {
					person[flag].money += m;
					person[index].money -= m;
					printf("******转账成功******");
				}
				else {
					printf("******余额不足******");
				}
			}
			else{
				f++;
			}
		}
		if (f == n) {
			printf("******该账户不存在******");
		}
	}
	else {
		printf("******请先登录******");
	}

}
void Menu() {  //操作菜单
	printf("\n\n==========银行转账系统==========");
	printf("\n0.退出登录");
	printf("\n1.注册账号");
	printf("\n2.登录账号");
	printf("\n3.修改密码");
	printf("\n4.用户取款");
	printf("\n5.用户存款");
	printf("\n6.用户转账");
	printf("\n7.查看所有用户");
	printf("\n请输入您的选择(0-7):");
	scanf_s("%d",&key);
	switch (key) {
	case 0:exit(); break;
	case 1:zhuce(); break;
	case 2:Login(); break;
	case 3:changePassword(); break;
	case 4:quqian(); break;
	case 5:saveMoney(); break;
	case 6:zhuanqian(); break;
	case 7:Display(); break;
	default:printf("  操作失败!");
	}
}
int main() {
	while (1) {
		Menu();
	}
	return 0;
}

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小雨527

你的鼓励是我的最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值