用c语言完成ATM机的代码

要求完成文件写入与读取,并实现账号的注册 登录 验证和修改密码的功能

参考:
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);
} 


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632