找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3799|回復: 0
打印 上一主題 下一主題
收起左側

c語言寫的取款機的模擬程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:85764 發(fā)表于 2015-7-15 23:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #define TYPE_NUM  7
  4. int Moneyvalue [TYPE_NUM]={100,50,20,10,5,2,1};             //取款面值
  5. int Moneydata  [TYPE_NUM]={0,0,0,0,0,0,0};                       //各種面值幣種數(shù)量
  6. int Moneybox   [TYPE_NUM]={10,10,10,10,10,10,10};         //取款機所剩各種幣種的數(shù)量(真正錢箱)
  7. int Moneyboxtmp[TYPE_NUM];                                            //模擬錢箱
  8. void Display();

  9. void OutMoney()                                    //取款操作
  10. {
  11.        int i,tmp;
  12.        int money;
  13.        printf("請輸入所取金額:");
  14.        scanf("%d",&money);
  15.        for (i=0;i<TYPE_NUM;i++)
  16.        {
  17.                  Moneyboxtmp[i]=Moneybox[i];           //模擬錢箱裝值,避免取款失敗后真正錢箱數(shù)值發(fā)生改變
  18.        }
  19.        for (i=0;i<TYPE_NUM;i++)
  20.       {
  21.                 tmp=money/Moneyvalue[i];
  22.                 if (tmp>Moneyboxtmp[i])                     //例如:當所取100元的數(shù)量大于模擬錢箱數(shù)量
  23.                           Moneydata[i]=Moneybox[i];       //把真正錢箱所有100元的數(shù)量全取出
  24.                else
  25.                          Moneydata[i]=tmp;                     //所取數(shù)量等于計算數(shù)量
  26.                 money=money-Moneydata[i]*Moneyvalue[i];
  27.                Moneyboxtmp[i]-=Moneydata[i];         
  28.        }
  29.       if (money==0)
  30.      {
  31.                printf("交易成功!\n");
  32.                Display();
  33.               for (i=0;i<TYPE_NUM;i++)
  34.               {
  35.                         Moneybox[i]=Moneyboxtmp[i];
  36.                }
  37.      }
  38.      else
  39.      {
  40.                printf("<余額不足>交易失。n");
  41.       }
  42. }

  43. void InputMoney()                                     //存款操作
  44. {
  45.         int i;
  46.         int money;
  47.         for (i=0;i<TYPE_NUM;i++)
  48.         {
  49.                    printf("請輸入%3d元的數(shù)量:",Moneyvalue[i]);
  50.                   scanf("%d",&money);
  51.                   Moneybox[i]+=money;
  52.          }
  53. }

  54. void Display()                                 //顯示各幣種的數(shù)量
  55. {
  56.          int i;
  57.          for (i=0;i<7;i++)
  58.          {
  59.                  if (Moneydata[i])
  60.                  {
  61.                                 printf("%3d  元數(shù)量: %d張\n",Moneyvalue[i],Moneydata[i]);
  62.                   }
  63.         }
  64. }

  65. void main(void)
  66. {
  67.              char keynum;
  68.              while (1)
  69.              {
  70.                           printf(" 請選擇您所需的操作:\n");
  71.                           printf("取款<1>       存款<2>\n");
  72.                           keynum=getche();
  73.                           printf("\n");
  74.                           switch(keynum)
  75.                           {
  76.                                        case '1':OutMoney();       //取款
  77.                                                      break;
  78.                                        case '2':InputMoney();    //存款
  79.                                                      break;
  80.                                        default:
  81.                                                      break;
  82.                            }
  83.               }
  84. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表