提出課題:03回目レポート
本文:
1.店舗名 「庄内紅茶専門店」
取扱商品 紅茶
2.3番まで実施
3.作成したプログラム
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-
sum = 0
item = Hash.new(0)
item["アールグレイ"] = 400
item["ダージリン"] = 400
item["アッサム"] = 430
item["セイロン"] = 520
item["ハーブ"] = 430
item["ジャワ"] = 470
item["オレンジペコ"] = 450
item["キーマン"] = 500
item["イングリッシュブレックファースト"] = 450
item["ニルギリ"] = 500
print"いらっしゃいませ。庄内紅茶専門店です。\n"
print "飲みたい紅茶の種類を入力してください。\n"
for name in item.keys
printf("%s ",name)
end
print"\n"
while true
what = gets.chomp!
nedan = item[what]
if nedan == 0
printf("%sの紅茶は取り扱っておりません。\n", what)
redo
end
printf("%sの紅茶は%s円です。\n", what, nedan)
print"何杯飲みますか。\n"
kazu = gets.chomp!.to_i
sum += nedan * kazu
print"購入を続けますか?はいかいいえを入力してください。\n"
b = gets.chomp!
if b == "いいえ"
break
else
print "飲みたい紅茶を入力してください。\n"
end
end
printf("合計金額は%d円です。\n",sum)
4.実行結果
いらっしゃいませ。庄内紅茶専門店です。
飲みたい紅茶の種類を入力してください。
アールグレイ ダージリン アッサム セイロン ハーブ ジャワ オレンジペコ キーマン イングリッシュブレックファースト ニルギリ
ハーブ
ハーブの紅茶は430円です。
何杯飲みますか。
3
購入を続けますか?はいかいいえを入力してください。
はい
飲みたい紅茶を入力してください。
キーマン
キーマンの紅茶は500円です。
何杯飲みますか。
3
購入を続けますか?はいかいいえを入力してください。
いいえ
合計金額は2790円です。
5.説明
飲みたい紅茶の種類を入力すると、値段が表示されるプログラムを作成した。4行目でsumの値を0に指定し、6から16行目でハッシュに代入されているkeyを指定してvalueを取り出した。printで文章を表示し、21行目のprintfで取り扱っている紅茶の種類をすべて表示した。20行目はitemの中に紅茶の名前が入っていることを表している。26行目から、while trueで繰り返しを行った。whatは入力してもらう紅茶の名前である。31行目のifで、表示された紅茶以外の種類が入力された場合、取り扱っていないことを伝えた。取り扱っていた場合はその紅茶の値段を37行目で表示し、続けて何杯飲むかを聞く。40行目で何杯飲みたいか入力してもらい、41行目で乗算を行い金額の合計を求めた。43行目で購入を続けるか聞き、終わる場合、45行目で繰り返しから抜けるようにした。最後に54行目で合計金額を表示した。
6.感想
事前に動画で内容に触れていたため、通常の授業よりもスムーズに理解することができた。わからないところは友人と相談しながら作成することができたのも良かった。
添付:
ruby2-2.rb