OC--简单的ATM算法

来源:互联网 发布:win7 for mac 安装iso 编辑:程序博客网 时间:2024/05/01 02:59



#include <stdio.h>


int selectCadrNum(int a[],int count, int enterCardNum);

int selectPassNum(int a[],int index, int enterPassNum);

int canGetMoney(int a[],int index, int enterMoney);

int getMoneyCount(int a[],int index, int enterMoney);





int main(int argc,const char * argv[]) {

    

   int cardNum[5] = {111,222, 333, 444, 555};

   int passWord[5] = {111,222, 333, 444, 555};

   int moneyCount[5] = {1000,2000, 3000,4000, 5000};


        

   while (1) {

       int enterCardNum = 0;

       int flag = 0;

        printf("请输入您的账号:\n");

       scanf("%d", &enterCardNum);

        

       int cardNumIndex = selectCadrNum(cardNum, 5, enterCardNum);

       if (cardNumIndex == 5) {

           printf("请重新输入卡号\n");

           continue;

        }else {

           printf("请输入密码: \n");

           int enterCount = 3;

           while (enterCount != 0) {

               int enterPassWord = 0;

               scanf("%d", &enterPassWord);

               if (selectPassNum(passWord, cardNumIndex, enterPassWord)) {

                   printf("登陆成功!\n");

                    enterCount =0;

                    flag =1;

                }else {

                    enterCount--;

                   if (enterCount == 0) {

                       printf("24小时内不允许登录!\n");

                    }else {

                       printf("还有%d次机会!\n", enterCount);

                    }

                }

            }

        }

       if (1 == flag) {

           printf("请选择要执行的选项\n");

           printf("1.取款\n");

           printf("2.存款\n");

           int select = 0;

           scanf("%d", &select);

           if (1 == select) {

               printf("请输入要取金额:\n");

               int getMoney = 0;

               scanf("%d", &getMoney);

               if (canGetMoney(moneyCount, cardNumIndex, getMoney)) {

                   printf("操作成功,剩余金额为: %d\n", getMoneyCount(moneyCount, cardNumIndex, getMoney));

                   break;

                }else {

                    printf("余额不足,请重新输入\n");

                }

            }

        }

    }

    

    

    

    

   return 0;

}





int selectCadrNum(int a[],int count, int enterCardNum)

{

   int index = 5;

   for (int i =0 ; i < count; i++) {

       if (a[i] == enterCardNum) {

            index = i;

           break;

        }

    }

   return index;

}



int selectPassNum(int a[],int index, int enterPassNum)

{

   int flag;

   if (a[index] == enterPassNum) {

        flag =0;

    }

    flag =1;

   return flag;

}


int canGetMoney(int a[],int index, int entermoney)

{

   int flag;

   if (a[index] >= entermoney) {

        flag =1;

    }

    flag =0;

   return flag;

}


int getMoneyCount(int a[],int index, int enterMoney)

{

    a[index] -= enterMoney;

   return a[index];

}


0 0