如圖所示的簡易自動售貨機,物品架1、2上共有10樣商品,按順序進行編號分別為1-10,標有**與名稱,乙個編號對應乙個可操作按鈕,供選擇商品使用。如果物架上的商品被使用者買走,儲物櫃中會自動取出商品送到物架上,保證物品架上一定會有商品。使用者可以一次投入較多錢幣,並可以選擇多樣商品,售貨機可以一次性將商品輸出並找零錢。
使用者購買商品的操作方法是:
(1)從「錢幣入口」放入錢幣,依次放入多個硬幣或紙幣。錢幣可支援1元(紙幣、硬幣)、2元(紙幣)、5元(紙幣)、10元(紙幣),放入錢幣時,控制器會先對錢幣進行檢驗識別出幣值,並統計幣值總額,顯示在控制器顯示屏中,提示使用者確認錢幣放入完畢;
(2)使用者確認錢幣放入完畢,便可選擇商品,只要用手指按對應商品外面的編號按鈕即可。每選中一樣商品,售貨機控制器會判斷錢幣是否足夠購買,如果錢幣足夠,自動根據編號將物品進行計數和計算所需錢幣值,並提示餘額。如果錢幣不足,控制器則提示「insufficient money」。使用者可以取消購買,將會把所有放入錢幣退回給使用者。
先輸入錢幣值序列,以-1作為結束,再依次輸入多個購買商品編號,以-1結束。
輸出錢幣總額與找回零錢,以及所購買商品名稱及數量。
112
25510
10-11
2351
6910-
1
total:
36yuan,change:
19yuan
table-water:
2;table-water:
1;table-water:
1;milk:
1;beer:
1;oolong-tea:
1;green-tea:
1;
我這個做法很笨拙……
有別的辦法希望告訴我哦?
#include
#include
intmain()
;int price[11]
=;int total=
0,change=0;
int money=0;
int choose=0;
while
(money!=-1
)//在這裡獲得了收到的總錢數
change=total;
while(1
)//構建完成選擇物品的次數列表
change-
=price[choose];if
(change<0)
count[choose]++;
}if(change<0)
//錢不夠直接退出不就好了嘛
printf
("total:%dyuan,change:%dyuan\n"
,total,change)
;//emmm比較暴力的解法
if(count[1]
!=0)if
(count[2]
!=0)if
(count[3]
!=0)if
(count[4]
!=0)if
(count[5]
!=0)if
(count[6]
!=0)if
(count[7]
!=0)if
(count[8]
!=0)if
(count[9]
!=0)if
(count[10]
!=0)system
("pause");
}
自動售貨機 (30 分)
如圖所示的簡易自動售貨機,物品架1 2上共有10樣商品,按順序進行編號分別為1 10,標有 與名稱,乙個編號對應乙個可操作按鈕,供選擇商品使用。如果物架上的商品被使用者買走,儲物櫃中會自動取出商品送到物架上,保證物品架上一定會有商品。使用者可以一次投入較多錢幣,並可以選擇多樣商品,售貨機可以一次性將...
ZJUPTA 7 1 自動售貨機
pta 7 1 自動售貨機 如圖所示的簡易自動售貨機,物品架1 2上共有10樣商品,按順序進行編號分別為1 10,標有 與名稱,乙個編號對應乙個可操作按鈕,供選擇商品使用。如果物架上的商品被使用者買走,儲物櫃中會自動取出商品送到物架上,保證物品架上一定會有商品。使用者可以一次投入較多錢幣,並可以選擇...
測試自動售貨機
在面試軟體測試職位時,被問到怎樣測試自動售貨機,但是就亂答了一下,沒什麼條理。回來網搜了一下也沒有什麼很好的答案,本來測試這種可能就是每個人有不同看法。回頭問了一下做測試的朋友,給了幾點建議 從功能點和流程等方面測試,以及對於異常的處理情況。1 首先可能先要測試一下,外觀設計的是否合理,是否符合大眾...