永发信息网

用c语言写这个题,各位大佬帮一下菜鸟

答案:1  悬赏:20  手机版
解决时间 2021-11-15 03:45
  • 提问者网友:無理詩人
  • 2021-11-14 16:17
用c语言写这个题,各位大佬帮一下菜鸟
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-11-14 17:38
分都不舍得出点啊   毕竟浪费时间又没技术含量的活   哎

//主要功能:  
//  1.模拟ATM(自动柜员机)主界面。  
//  2.模拟ATM(自动柜员机)查询功能(Quary)。  
//  3.模拟ATM(自动柜员机)存款功能(Credit)。  
//  4.模拟ATM(自动柜员机)取款功能(Debit)。  
//  5.退出功能(即返回主界面)。  
//要求:  
//  1.用文件保存用户卡号和密码,用以进行身份验证。  
//  2.完成打印凭条功能。  
//****************************************  
#include  
#include  
#include  
#define N 200  
  
void enterATM();        //ATM账号输入函数    
void inputMima();       //密码输入函数  
void menu();            //基本操作界面  
void Debit();           //取款函数  
void success();         //操作成功函数  
void delay();           //延时函数  
void Quary();           //余额查询函数  
void Credit();          //存款函数  
void panDuan(double z); //判断取款是否合法函数  
void exit();            //退出界面函数  
void miMa();            //密码修改  
void read();            //文件写入函数  
void write();           //文件读取函数  
  
typedef struct   
{  
    int zhanghao;  
    int mima;  
    double yu_e;  
}atm;  
atm ATM[N];  
int k;  
  
//ATM账号输入函数   
void enterATM()  
{  
    delay();  
    system("cls");  
    read();  
    printf("*******************************
");  
    printf("*     欢迎使用 ATM 柜台机     *
");  
    printf("*          请输入卡号         *
");  
    int user;  
    scanf("%d",&user);  
    if(user==0)  
    {  
        printf("*        账号错误       *
");  
        enterATM();  
    }  
    else if(user!=(ATM[k].zhanghao))   
    {  
    for(k=1;k    {  
    if(user==(ATM[k].zhanghao))   
        inputMima( );  
    }  
    system("cls");  
    printf("*    账户不存在,请从新输入    *
");  
    enterATM();  
    }  
    else  
    inputMima( );  
}  
  
//密码输入函数  
void inputMima( )  
{  
    int code;  
    int temp=3;  
    read();  
    system("cls");  
    printf("*          请输入密码          *
");  
    scanf("%d",&code);  
    while(code!=ATM[k].mima)  
    {  
        temp--;  
        system("cls");  
        printf("*     密码错误,请重新输入     *
");  
        printf("*        您还有 ");  
        printf("%d",temp);  
        printf(" 次机会       *
");  
        scanf("%d",&code);        
        if(temp==1)  
        {  
            system("cls");  
            printf("*      您已经 3 次输入密码     *
");  
            printf("*         系统将退出操作       *
");  
            delay();  
            enterATM();  
        }  
    }  
    menu();  
}  
  
//取款函数  
void Debit()  
{  
    double temp;  
    system("cls");  
    printf("     请选择您要取款的金额     
");  
    printf("        1.100    2.200        
");  
    printf("        3.500    4.800        
");  
    printf("        5.1000   6.其它       
");  
    printf("        7.返回   8.退出       
");  
    switch(getch())  
    {  
    case '1': panDuan(100);  
        break;  
    case '2': panDuan(200);  
        break;  
    case '3': panDuan(500);  
        break;  
    case '4': panDuan(800);  
        break;  
    case '5': panDuan(1000);  
        break;  
    case '6':  
        system("cls");  
        printf("请输入您要取款的金额:");  
        scanf("%lf",&temp);  
        panDuan(temp);  
        break;  
    case '7':menu();  
        break;  
    case '8':exit();  
        break;  
    }  
}  
  
//余额查询函数  
void Quary()  
{  
    read();  
    system("cls");  
    printf("你的余额为:%lf
",(ATM[k].yu_e));  
    printf("1.返回      2.退出     
");  
    switch(getch())  
    {  
    case '1': menu();  
        break;  
    case '2': exit();  
        break;  
    }  
}  
  
//判断取款是否合法函数  
void panDuan(double z)  
{  
    int beishu;  
    if(z>(ATM[k].yu_e))  
    {  
        system("cls");  
        printf("           余额不足!         
");  
        printf("          请重新操作          
");  
        printf("     1.返回       2.退出      
");  
        switch(getch())  
        {  
        case '1': Debit();  
        case '2': exit();  
        }  
    }  
    beishu=(int)z%100;  
    if(beishu!=0)  
    {  
        system("cls");  
        delay( );  
        printf("  本ATM机只支持 100 的人民币  
");  
        printf("           请重新操作         
");  
        printf("                              
");  
        printf("     1.返回        2.退出     
");  
        switch(getch())  
        {  
        case '1': Debit();  
        case '2': exit();  
        }  
    }  
    if(z==5000.00||z>5000.00)  
    {  
        system("cls");  
        printf("    每次取款不能超过 5000 元  
");  
        printf("           请重新操作         
");  
        printf("                              
");  
        printf("     1.返回        2.退出     
");  
        switch(getch())  
        {  
        case '1': Debit();  
        case '2': exit();  
        }  
    }  
    (ATM[k].yu_e)-=z;  
    write();  
    success();  
}  
  
//存款函数  
void Credit( )  
{  
    double cun;  
    system("cls");  
    printf(" 请放入人民币:");  
    scanf("%lf",&cun);  
    while(cun<0)  
    {  
        system("cls");  
        printf("            非法存款          
");  
        printf("        请重新放入人民币      
");  
        scanf("%lf",&cun);  
    }  
    (ATM[k].yu_e)+=cun;  
    write();  
    success();  
}  
  
//密码修改函数  
void miMa()  
{  
    int mm1,mm2,mm3;  
    int temp;  
    system("cls");  
    printf("旧密码:");  
    scanf("%d",&mm1);  
    printf("
");  
    if(mm1!=ATM[k].mima)  
    {  
        system("cls");  
        printf("旧密码错误,请重新输入
");  
        delay();  
        miMa();  
    }  
    printf("新密码:");  
    scanf("%d",&mm2);  
    if(mm2<100000||mm2>999999)  
    {  
        system("cls");  
        printf("        密码必须等于6位数  
");  
        printf("           请重新输入!    
");  
        delay();  
        miMa();  
    }  
    temp=mm2%111111;  
    if(temp==0)  
    {  
        system("cls");  
        printf("          密码过于简单       
");  
        printf("           请重新输入!      
");  
        delay( );  
        miMa( );  
    }  
    printf("
");  
    printf("确认新密码:");  
    scanf("%d",&mm3);  
    if(mm2!=mm3)  
    {  
        system("cls");  
        printf("确认密码不一致,请重新输入
");  
        delay( );  
        miMa();  
    }     
    if(mm3=mm2)  
    {  
        ATM[k].mima=mm3;  
        write();  
        success();  
    }  
}  
  
//延时函数  
void delay( )  
{  
    long int bl1;   
    int bl2;  
    for(bl1=600000;bl1>0;bl1--)  
    {  
        for(bl2=300;bl2>0;bl2--);  
    }  
}  
  
//操作成功函数  
void success( )  
{  
    system("cls");  
    printf("           操作已成功         
");  
    printf("                              
");  
    printf("     1.返回        2.退出     
");  
    switch(getch())  
    {  
    case '1':menu();  
        break;  
    case '2':exit();  
        break;  
    }  
}  
  
//系统退出函数  
void exit()  
{  
    system("cls");  
    printf("*        欢迎您的再次使用      *
");  
    printf("*         系统正在退出...      *
");  
    delay();  
    enterATM();  
}  
  
//文件读取函数  
void read()  
{  
    int i;  
    FILE *fp;  
    fp=fopen("xinxi.txt","r");  
    if(fp==NULL)  
    {  
        printf("打开文件失败
");  
        return;  
    }  
    for(i=0;i    {  
          
        fscanf(fp,"%d",&(ATM[i].zhanghao));  
        fscanf(fp,"%d",&(ATM[i].mima));  
        fscanf(fp,"%lf
",&(ATM[i].yu_e));  
    }  
    fclose(fp);  
}  
  
//文件写入函数  
void write()  
{  
    int i;  
    FILE *fp;  
    fp=fopen("xinxi.txt","w");  
    if(fp==NULL)  
    {  
        printf("打开文件失败
");  
        return;  
    }  
    for(i=0;i    {  
        fprintf(fp,"%d",ATM[i].zhanghao);  
        fprintf(fp,"%d",ATM[i].mima);  
        fprintf(fp,"%lf
",ATM[i].yu_e);  
    }  
    fclose(fp);  
}  
  
//主操作界面函数  
void menu( )  
{  
    system("cls");  
    printf("********************************
");  
    printf("*         请选择一下业务       *
");  
    printf("*          1.修改密码          *
");  
    printf("*          2.余额查询          *
");  
    printf("*          3.取款              *
");  
    printf("*          4.存款              *
");  
    printf("*          5.退出              *
");  
    printf("********************************
");  
    switch(getch())  
    {  
    case '1': miMa();  
        break;  
    case '2': Quary();  
        break;  
    case '3': Debit();  
        break;  
    case '4': Credit();  
        break;  
    case '5': exit();  
        break;  
    default:  
        {  
            printf("a非法操作
");  
            menu();  
        };  
    }  
}  
  
//主函数  
void main()  
{  
    enterATM();  
}追问你这个完全就是复制人家博客上面来的,能不能自己写,不然老师会发现的!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯