おひとりさまプログラミング

無料で学べるブログラミング学習サイト

Ruby講座|第3回 クラスを使ったサンプルコード(料金表)

皆さん、こんにちは。

しょうとく(@syoucha0107)と申します。

初心者様用にクラスを使ったサンプルコードをご用意しました。またまた変なもの作ってしまってすみません・・・。

前回はじゃんけんゲームをやっていただいたわけですが、今回は「料金表」をご用意しました。クラスを使ったプログラムになります。それではまず、今回も3分弱ほどの動画からご覧下さい。

youtu.be

下にコードを貼り付けておきます。
皆様お使いのPCにrbファイルとして保存し、
ターミナルソフトで実行してみましょう。
今回は2つのファイルを使っております。

class Menu
  attr_accessor :name
  attr_accessor :price
  
  def initialize(name:, price:)
    self.name = name
    self.price = price
  end
  
  def info
    return "#{self.name} #{self.price}"
  end
  
  def get_total_price(count)
    total_price = self.price * count
    if count >= 3
      total_price -= 3000
    end
    return total_price
  end
end
require "./ryoukin"
 
menu1 = Menu.new(name: "60分コース", price: 10000)
menu2 = Menu.new(name: "90分コース", price: 15000)
menu3 = Menu.new(name: "120分コース", price: 18000)
 
menus = [menu1, menu2, menu3]
 
index = 0
menus.each do |menu|
  puts "#{index}. #{menu.info}"
  index += 1
end
 
puts "--------------"
puts "ご希望のコース番号を選択してください"
 
order = gets.chomp.to_i
 
selected_menu = menus[order]
 
puts "ご希望のコース: #{selected_menu.name}"
 
puts "何名様でご利用ですか(3名以上のご利用で3000円割引)"
 
count = gets.chomp.to_i
 
puts "#{count}名様#{selected_menu.get_total_price(count)}円になります。"

動画でお伝えした課題がこちら!

3名以上の利用の場合
一人あたり1000円割引して
“お一人様「◯◯円」です””
と一人当たりの料金を表示させる
記述に書き換えてください。

動画もしくはブログのコメント欄に回答の記述をお願いします。