模拟ATM运行(代码粗糙,敬请批评指正)

来源:互联网 发布:呼市吉林大学网络教育 编辑:程序博客网 时间:2024/05/29 09:54
/*
采用结构化程序设计思想实现模拟ATM(自动柜员机)。?
?


功能包括:
1、模拟ATM(自动柜员机)主界面;
2、模拟ATM(自动柜员机)的查询功能(Quary?.);
3、模拟ATM(自动柜员机)存款功能(Credit);
4、模拟ATM(自动柜员机)取款功能(Debit);
5、退出功能模块五(即:返回主界面return)。?


提示说明:
1、根据所学的知识实现现实系统的综合开发;
2、注意设计思想和算法的实现,特别是综合应用所学知识与实践的结合;
3、注意界面之间的连接。
基本要求:
1.用字符数组保存用户卡号和密码,用以进行身份验证。
2.注意程序的健壮性(考虑输错密码多次的锁定,每日取款不超过20000元的限定,单笔不超过2000元的限定。)


提高要求:
1.用文件保存用户卡号和密码,用以进行身份验证。
2.完成打印凭条的功能。
3.异常处理(吞卡)。*/
/*
专业:软件工程
班级:1501班
姓名:陈辉
学号:1508010131
*/


#include<stdio.h>
#define N 100
//插卡
//查询
//取钱
//打印
//存钱
//退卡
//故障


//main_界面


struct ATM
{
int num;        //账号   
int password;    //密码  
int money;      //钱
int time;        //更新时间
};


struct ATM atm[100];


void init()            //初始化银行账户信息
{
for(int i=0;i<1;i++)
{
atm[i].num=1;
atm[i].password=1;
atm[i].money=1;
atm[i].time=1;
}
for( i=1;i<100;i++)
{
atm[i].num=0;
atm[i].password=0;
atm[i].money=0;
atm[i].time=0;
}
}


int Registe(int nu,int pass)  //登录模块
{
for(int i=0;i<100;i++)
{
if(!(atm[i].num-nu))
if(!(atm[i].password-pass))
{
printf("登录成功");
return i;
}
}
return 0;
}


void inqurie(int  nu,int pass)          //查询金额
{
int p=Registe(nu,pass);
if(p)
{
        printf("余额:%d",atm[p].money);
}


}


int Credit(int nu,int pass)   //存款模块
{
int mon;
int p=Registe(nu,pass);
if(p)   //登录成功
{
printf("请输入存款金额:\n");
scanf("%d",&mon);
}
printf("\n当前余额:%d",atm[p].money+mon);


return 0;


}


int Debit(int nu ,int pass)   //取款模块
{
int mon;
int p=Registe(nu,pass);
if(p)   //登录成功
{
printf("请输入取款金额:\n");
scanf("%d",&mon);
}
printf("\n当前余额:%d",atm[p].money-mon);
return 0;
}
void main_1()
{
printf("\n\n\n\n");
printf("                        *********************************************\n");
printf("                        ******    (1)插卡                      ******\n");
printf("                        ******    (2)无卡操作                  ******\n");
printf("                        *********************************************\n");
}
void main_2()      //主界面
{
printf("\n\n\n\n");
printf("                        *********************************************\n");
printf("                        ******    (1)查询                      ******\n");
printf("                        ******    (2)取款          (3)退卡     ******\n");
    printf("                        ******    (5)存款                      ******\n");
printf("                        ******    中国建设银行:95533          ******\n");
printf("                        *********************************************\n");
}
void main_3()      //取款界面
{
printf("\n\n\n\n");
printf("                        *********************************************\n");
printf("                        ******    (1)100          (3)500       ******\n");
printf("                        ******    (2)1000         (4)2000      ******\n");
printf("                        ******    (5)输入金额(100的倍数):   ******\n");
printf("                        *********************************************\n");


}
void main_4()     //
{
printf("\n\n\n\n");
printf("                        *********************************************\n");
printf("                        ******    (1)输入存款金额              ******\n");
printf("                        *********************************************\n");
}
int main()
{
main_1();
int a;
scanf("%d",&a);
int nu,pass;
  int a1,a2;
switch(a)
{
case 1:
{
printf("请输入账号,密码:\n");
scanf("%d  %d",nu,pass);
int p= Registe(nu,pass);
main_2();
scanf("%d",&a);
switch(a)
{
case 1:inqurie(nu  ,pass);break; // 查询
case 2:a1=Debit( nu , pass);break;
case 3:printf("退出成功");break;
case 5:a2=Credit( nu, pass);break;
}


}
case 2:
break;
}





return 0;
}
0 0
原创粉丝点击