要求完成文件写入与读取,并实现账号的注册 登录 验证和修改密码的功能
参考:
https://blog.csdn.net/qq_37859039/article/details/70888637
#include <stdio.h>
#define N 50
//--账号参数--------
struct Bank{
char name[20];//姓名
int cardNo;//卡号
int password;//密码
int totalMoney;//账上余额
} bank[N];
//账户总人数
int count=0;
void main(){
int num;
title();
do{
printf("\t\t\t请选择(1~6):\n");
scanf("%d",&num);
switch(num){
case 1:
kaihu(); //调用开户函数
break;
case 2:
cunkuan();//调用存款函数
break;
case 3:
qukuan(); //调用取款函数
break;
case 4:
chaxun(); //调用查询函数
break;
case 5:
break;
case 6:
break;
default:
printf("输入错误,请选择1~6的业务\n");
system("cls"); //清空屏幕
title();
break;
}
}while(num!=6);
}
void title(){
printf("\t\t\t******************************************************\n");
printf("\t\t\t* *\n");
printf("\t\t\t* 中国人民银行管理系统 *\n");
printf("\t\t\t* *\n");
printf("\t\t\t******************************************************\n");
printf("\t\t\t1.开户\n");
printf("\t\t\t2.存款\n");
printf("\t\t\t3.取款\n");
printf("\t\t\t4.查询\n");
printf("\t\t\t5.转账\n");
printf("\t\t\t6.退出\n");
}
//定义开户函数
void kaihu(){
//控制开户总数不能大于N
if(count+1>=N){
printf("\t\t\t已经超上限,开户失败。\n");
return; //终止函数运行
}
printf("请输入您的姓名:");
fflush(stdin); //清空缓存
gets(bank[count].name);//字符串数组赋值
printf("请输入卡号:");
scanf("%d",&bank[count].cardNo);
printf("请输入密码:");
scanf("%d",&bank[count].password);
bank[count].totalMoney = 0; //初始化账户余额
printf("恭喜你,开户成功!,您的信息如下,请妥善保管:\n");
printf("您的姓名是:%s\n卡号:%d\n密码:%d\n余额:%d\n",bank[count].name,bank[count].cardNo,bank[count].password,bank[count].totalMoney);
//开户人数加1
count++;
}
//定义存款函数
void cunkuan(){
// int card;
// int pwd;
// int money;
// printf("请输入您的账号:");
// scanf("%d",&card);
// //判断卡号是否准确
// if(card != cardNo) {
// printf("您输入的账号不存在\n");
// return; //结束函数的运行
// }
// printf("请输入您的密码:");
// scanf("%d",&pwd);
// if(pwd != password){
// printf("您输入的密码错误,请确认\n");
// return;
// }
// printf("请输入存款金额:");
// scanf("%d",&money);
// totalMoney += money;
// printf("恭喜你,存款成功!您的账户余额是:%d\n",totalMoney);
}
//取款函数
void qukuan(){
// int card;
// int pwd;
// int money;
// printf("请输入您的账号:");
// scanf("%d",&card);
// //判断卡号是否准确
// if(card != cardNo) {
// printf("您输入的账号不存在\n");
// return; //结束函数的运行
// }
// printf("请输入您的密码:");
// scanf("%d",&pwd);
// if(pwd != password){
// printf("您输入的密码错误,请确认\n");
// return;
// }
// printf("请输入取款金额:");
// scanf("%d",&money);
// if(money>totalMoney){
// printf("对不起,余额不足\n");
// return;
// }
// totalMoney -= money;
// printf("恭喜你,取款成功!您的账户余额是:%d\n",totalMoney);
}
//定义查询函数
void chaxun(){
int card;
int pwd;
int money;
int i;
int index = -1;//保存登录成功的用户索引
printf("请输入您的账号:");
scanf("%d",&card);
printf("请输入您的密码:");
scanf("%d",&pwd);
for(i=0;i<count;i++){
//判断卡号是否准确
if(card == bank[i].cardNo && pwd == bank[i].password) {
index = i;
break;
}
}
if(index==-1){
printf("您输入的账号或者密码错误\n");
return;
}
printf("您的账户余额是:%d\n",bank[index].totalMoney);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!