1.店舗名・取扱商品 店舗名 :本間商店 取扱商品: 牛肉 200円 豚肉 150円 鳥肉 80円 魚 240円 卵 130円 玉葱 40円 人参 35円 じゃが芋 30円 キャベツ 80円 白菜 90円 カレールゥ 120円 クリームシチューの粉 140円 ホイコーローの素 100円 醤油 400円 味噌 300円 ごま油 160円 オリーブオイル 300円 米 1400円 食パン 120円 菓子パン 130円 惣菜パン 130円 お弁当 160円 2.何番まで実施したか 4番まで 3.作成したプログラム 下に添付しました。 #!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- #require './kprintf.rb' syoukei = 0 kaikei = 0 item = Hash.new(0) item = { "牛肉" => [200, 10], "豚肉" => [150, 10], "鳥肉" => [80, 15], "魚" => [240, 5], "卵" => [130, 20], "玉葱" => [40, 30], "人参" => [35, 20], "じゃが芋" => [30, 20], "キャベツ" => [80, 10], "白菜" => [90, 10], "カレールゥ" => [120, 40], "クリームシチューの粉" => [140, 40], "ホイコーローの素" => [100, 20], "醤油" => [400, 10], "味噌" => [300, 10], "ごま油" => [160, 20], "オリーブオイル" => [300, 20], "米" => [1400, 5], "食パン" => [120, 8], "菓子パン" => [130, 10], "惣菜パン" => [130, 20], "お弁当" => [160, 20] } print "本間商店へようこそ。\n" print"\n" for name, money in item printf("品目:%-10s\s価格:%4d円残り%6d個\n " ,name, money[0], money[1]) end print"\n" while true print"何をお買い求めですか。\n" buy = gets.chomp! okane = item[buy] if item.key?(buy) == false printf("%sという商品はありません。\n", buy) sleep(1) print"もう一度お願いいたします。\n" next else printf("%sの値段は%s円です。\n", buy, okane[0]) end print"いくつ欲しいですか。\n" kosu = gets.chomp!.to_i if kosu > okane[1] print"申訳ございません。在庫が不足しております。\n" else syoukei = kosu * okane[0] kaikei += syoukei end print"お買物を続けますか。続ける場合は、「yes」終わる場合は「no」を入力して下さい。\n" conti = gets.chomp!.to_s if conti == "no" break else end end printf("お会計は%d円です。\n",kaikei) 4.プログラムの実行結果 本間商店へようこそ。 品目:牛肉 価格: 200円残り 10個 品目:豚肉 価格: 150円残り 10個 品目:鳥肉 価格: 80円残り 15個 品目:魚 価格: 240円残り 5個 品目:卵 価格: 130円残り 20個 品目:玉葱 価格: 40円残り 30個 品目:人参 価格: 35円残り 20個 品目:じゃが芋 価格: 30円残り 20個 品目:キャベツ 価格: 80円残り 10個 品目:白菜 価格: 90円残り 10個 品目:カレールゥ 価格: 120円残り 40個 品目:クリームシチューの粉 価格: 140円残り 40個 品目:ホイコーローの素 価格: 100円残り 20個 品目:醤油 価格: 400円残り 10個 品目:味噌 価格: 300円残り 10個 品目:ごま油 価格: 160円残り 20個 品目:オリーブオイル 価格: 300円残り 20個 品目:米 価格:1400円残り 5個 品目:食パン 価格: 120円残り 8個 品目:菓子パン 価格: 130円残り 10個 品目:惣菜パン 価格: 130円残り 20個 品目:お弁当 価格: 160円残り 20個 何をお買い求めですか。 米 米の値段は1400円です。 いくつ欲しいですか。 6 申訳ございません。在庫が不足しております。 お買物を続けますか。続ける場合は、「yes」終わる場合は「no」を入力して下 さい。 yes 何をお買い求めですか。 米 米の値段は1400円です。 いくつ欲しいですか。 4 お買物を続けますか。続ける場合は、「yes」終わる場合は「no」を入力して下さい。 yes 何をお買い求めですか。 オリーブオイル オリーブオイルの値段は300円です。 いくつ欲しいですか。 5 お買物を続けますか。続ける場合は、「yes」終わる場合は「no」を入力して下さい。 no お会計は7100円です。 5.プログラムの説明 購入数を入力すると合計金額が表示されるように「syoukei = kosu * okane[0]」 を書きました。 取り扱っていない商品を聞かれた際に、「◯◯という商品はございません」と 表示されるようにcapital.rbを参考にし、 if item.key?(buy) == false printf("%sという商品はありません。\n", buy) sleep(1) print"もう一度お願いいたします。\n" next else printf("%sの値段は%s円です。\n", buy, okane[0]) end を書きました。 複数の種類を購入できるように「kaikei += syoukei」と 「print"お買物を続けますか。続ける場合は、「yes」終わる場合は「no」を入力して下さい。\n" conti = gets.chomp!.to_s if conti == "no" break else end」を書きました。 在庫数を超える注文が有った際に、在庫が不足しているように表示されるよう にkeyを配列にし、ifを用いて、「kosu > okane[1]」で注文数と在庫数を比較 しました。 6.感想 まだ6番まで作成する?ことができていないので、木曜日までギリギリま で頑張ってプログラムを完成させたいです。 7.添付