描述:考生需要模擬實現一個簡單的自動售貨系統,實現投幣、購買商品、退幣、輸出庫存商品及存錢盒信息的功能.1. 系統中存在以下商品與錢幣:三種商品:每種商品包含商品名稱、單價、數量三種屬性,分別為:名稱為A1的商品單價為2元數量為5件;名稱為A2的商品單價為3元數量為10件;名稱為A3的商品單價為4元數量為14件存錢盒信息存在以下三種面額1、2、5元的錢幣,每種錢幣包括面額、張數屬性,分別為:1元的 5張;2元的 5張, 5元的 3張;2. 系統退幣原則:根據系統存錢盒內錢幣的信息,按錢幣總張數最少的原則進行退幣,即使用戶只投幣不購買商品也按此原則退幣。3. 約束:考生不需要考慮命令的非法性,即不存在非法的命令的情況,例如系統中A1商品只有5件,不存在買第6件的情況,不存在買的商品總價超過投幣總和的等情況。4. 輸入說明系統接收到輸入命令需要初始化系統,初始化系統中商品與錢幣數量。命令字與參數間使用一個空格分隔,不同命令之間用逗號分隔。1). 投幣命令:命令格式:p 錢幣面額,投幣可以投入多次,只能投入1、2、5元面額的錢幣。2). 購買商品:命令格式:b 商品名稱一條購買命令僅能購買一件商品,可以多次購買;購買商品成功后,自動售貨機中對應商品數量減1,存錢盒中金額相應的增加,全部購買完成需要按退幣原則把多余的錢幣退回。例如:p 5,p 5,p 5,b A3,b A3,b A25. 輸出說明輸出自動售貨機中商品和存錢盒的信息,包含商品名稱、數量,存錢盒面額、數量。根據商品名稱的從小到大順序進行排序,輸出結果中商品名稱與數量使用一個空格分開,存錢盒根據錢幣面額從小到大排序輸出,錢幣面額與數量使用一個空格分開,不同信息間使用逗號分開,商品信息與存錢盒信息使用分號分開。例如,返回結果為:A1 5,A2 9,A3 12;1 5,2 3,5 6運行時間限制:無限制內存限制:無限制輸入:投幣命令、購買商品命令輸出:自動售貨機中商品和存錢盒的信息樣例輸入:p 5,p 5,p 5,b A3,b A3,b A2樣例輸出:A1 5,A2 9,A3 12;1 5,2 3,5 6答案提示:無
新聞熱點
疑難解答