如圖所示的簡易自動售貨機,物品架1、2上共有10樣商品,按順序進行編號分別為1-10,標有**與名稱,乙個編號對應乙個可操作按鈕,供選擇商品使用。如果物架上的商品被使用者買走,儲物櫃中會自動取出商品送到物架上,保證物品架上一定會有商品。使用者可以一次投入較多錢幣,並可以選擇多樣商品,售貨機可以一次性將商品輸出並找零錢。
使用者購買商品的操作方法是:
(1)從「錢幣入口」放入錢幣,依次放入多個硬幣或紙幣。錢幣可支援1元(紙幣、硬幣)、2元(紙幣)、5元(紙幣)、10元(紙幣),放入錢幣時,控制器會先對錢幣進行檢驗識別出幣值,並統計幣值總額,顯示在控制器顯示屏中,提示使用者確認錢幣放入完畢;
(2)使用者確認錢幣放入完畢,便可選擇商品,只要用手指按對應商品外面的編號按鈕即可。每選中一樣商品,售貨機控制器會判斷錢幣是否足夠購買,如果錢幣足夠,自動根據編號將物品進行計數和計算所需錢幣值,並提示餘額。如果錢幣不足,控制器則提示「insufficient money」。使用者可以取消購買,將會把所有放入錢幣退回給使用者。
輸入格式:
先輸入錢幣值序列,以-1作為結束,再依次輸入多個購買商品編號,以-1結束。
輸出格式:
輸出錢幣總額與找回零錢,以及所購買商品名稱及數量。
輸入樣例:
1 1 2 2 5 5 10 10 -1輸出樣例:1 2 3 5 1 6 9 10 -1
total:36yuan,change:19yuantable-water:2;table-water:1;table-water:1;milk:1;beer:1;oolong-tea:1;green-tea:1;
#include
intzong()
;struct money
;int
main
(void),
,,,,
,,,,
}money=z;
while
(x!=-1
)}if(money>=0)
}else
printf
("insufficient money");
intzong()
}return money;
}
7 1 自動售貨機 30分
如圖所示的簡易自動售貨機,物品架1 2上共有10樣商品,按順序進行編號分別為1 10,標有 與名稱,乙個編號對應乙個可操作按鈕,供選擇商品使用。如果物架上的商品被使用者買走,儲物櫃中會自動取出商品送到物架上,保證物品架上一定會有商品。使用者可以一次投入較多錢幣,並可以選擇多樣商品,售貨機可以一次性將...
測試自動售貨機
在面試軟體測試職位時,被問到怎樣測試自動售貨機,但是就亂答了一下,沒什麼條理。回來網搜了一下也沒有什麼很好的答案,本來測試這種可能就是每個人有不同看法。回頭問了一下做測試的朋友,給了幾點建議 從功能點和流程等方面測試,以及對於異常的處理情況。1 首先可能先要測試一下,外觀設計的是否合理,是否符合大眾...
自動售貨機(2)
只是寫了兩種情況,乙個好的驗證testbeach 必須包含所有情況,可以重複但一定不能漏掉情況。timescale 1ns 1ps module drink status moore tb localparam charge width 6 localparam reset init h 10 lo...