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.添付