|
- #include <stdio.h>
- #include <conio.h>
- #define TYPE_NUM 7
- int Moneyvalue [TYPE_NUM]={100,50,20,10,5,2,1}; //取款面值
- int Moneydata [TYPE_NUM]={0,0,0,0,0,0,0}; //各種面值幣種數(shù)量
- int Moneybox [TYPE_NUM]={10,10,10,10,10,10,10}; //取款機(jī)所剩各種幣種的數(shù)量(真正錢箱)
- int Moneyboxtmp[TYPE_NUM]; //模擬錢箱
- void Display();
-
- void OutMoney() //取款操作
- {
- int i,tmp;
- int money;
- printf("請(qǐng)輸入所取金額:");
- scanf("%d",&money);
- for (i=0;i<TYPE_NUM;i++)
- {
- Moneyboxtmp[i]=Moneybox[i]; //模擬錢箱裝值,避免取款失敗后真正錢箱數(shù)值發(fā)生改變
- }
- for (i=0;i<TYPE_NUM;i++)
- {
- tmp=money/Moneyvalue[i];
- if (tmp>Moneyboxtmp[i]) //例如:當(dāng)所取100元的數(shù)量大于模擬錢箱數(shù)量
- Moneydata[i]=Moneybox[i]; //把真正錢箱所有100元的數(shù)量全取出
- else
- Moneydata[i]=tmp; //所取數(shù)量等于計(jì)算數(shù)量
- money=money-Moneydata[i]*Moneyvalue[i];
- Moneyboxtmp[i]-=Moneydata[i];
- }
- if (money==0)
- {
- printf("交易成功!\n");
- Display();
- for (i=0;i<TYPE_NUM;i++)
- {
- Moneybox[i]=Moneyboxtmp[i];
- }
- }
- else
- {
- printf("<余額不足>交易失敗!\n");
- }
- }
- void InputMoney() //存款操作
- {
- int i;
- int money;
- for (i=0;i<TYPE_NUM;i++)
- {
- printf("請(qǐng)輸入%3d元的數(shù)量:",Moneyvalue[i]);
- scanf("%d",&money);
- Moneybox[i]+=money;
- }
- }
-
- void Display() //顯示各幣種的數(shù)量
- {
- int i;
- for (i=0;i<7;i++)
- {
- if (Moneydata[i])
- {
- printf("%3d 元數(shù)量: %d張\n",Moneyvalue[i],Moneydata[i]);
- }
- }
- }
-
- void main(void)
- {
- char keynum;
- while (1)
- {
- printf(" 請(qǐng)選擇您所需的操作:\n");
- printf("取款<1> 存款<2>\n");
- keynum=getche();
- printf("\n");
- switch(keynum)
- {
- case '1':OutMoney(); //取款
- break;
- case '2':InputMoney(); //存款
- break;
- default:
- break;
- }
- }
- }
復(fù)制代碼
|
|