diff --git a/kadai3.rb b/kadai3.rb index 1a5fd6f..911bd2e 100644 --- a/kadai3.rb +++ b/kadai3.rb @@ -4,15 +4,20 @@ class Menu # get_total_priceメソッドを定義してください - - - + def get_total_price(count) + total_price = self.price * count + if (count > 3) + total_price = self.price * count - 10000 + end + return "#{self.name} #{total_price}vnd" end + end menu1 = Menu.new menu1.name = "Phở" menu1.price = 30000 +puts menu1.get_total_price(5) # menu1に対してget_total_priceメソッドを呼び出してください \ No newline at end of file diff --git a/kadai4.rb b/kadai4.rb index 3812441..8e9c786 100644 --- a/kadai4.rb +++ b/kadai4.rb @@ -13,11 +13,14 @@ def info end #メニューの変数を定義してください -menu1 = -menu2 = -menu3 = +menu1 = Menu.new(name: "Phở", price: 30000) +menu2 = Menu.new(name: "Bún chả", price: 20000) +menu3 = Menu.new(name: "Bánh mì", price: 10000) # 変数menusを定義して配列を代入してください +menus = [menu1, menu2, menu3] - -# menusに対して繰り返し処理を実行してください \ No newline at end of file +# menusに対して繰り返し処理を実行してください +menus.each do |m| + puts m.info +end \ No newline at end of file diff --git a/kadai5.rb b/kadai5.rb index bc6d258..c4b86db 100644 --- a/kadai5.rb +++ b/kadai5.rb @@ -16,6 +16,10 @@ class Drink < Menu attr_accessor :size # initializeメソッドをオーバーライドする + def initialize(name:, price:, size:) + super(name: name, price: price) + self.size = size + end # nameとpriceはsuperとする def info @@ -25,13 +29,15 @@ def info menu1 = Menu.new(name: "Phở", price: 30000) menu2 = Menu.new(name: "Bún chả", price: 40000) -menu3 = Menu.new(name: "bánh mì", price: 20000) +menu3 = Menu.new(name: "Bánh mì", price: 20000) # Drinkの変数を定義してください +drink1 = Drink.new(name: "Tra", price: 5000, size: "S") +drink2 = Drink.new(name: "Tra", price: 10000, size: "M") # 変数menusを定義して配列を代入してください - +menus = [menu1, menu2, menu3, drink1, drink2] menus.each do |menu| puts "#{menu.info}" diff --git a/kadai6.rb b/kadai6.rb new file mode 100644 index 0000000..f7e30bf --- /dev/null +++ b/kadai6.rb @@ -0,0 +1,64 @@ +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}vnd" + end + + #Only get name + def get_specs + return "#{self.name}" + end + +end + +class Drink < Menu + attr_accessor :size + + # initializeメソッドをオーバーライドする + def initialize(name:, price:, size:) + super(name: name, price: price) + self.size = size + end + # nameとpriceはsuperとする + + def info + return "#{self.name} #{self.price}vnd (#{self.size}サイズ)" + end + + #Get name and size + def get_specs + return "#{self.name} (#{self.size}サイズ)" + end + +end + +menu1 = Menu.new(name: "Phở", price: 30000) +menu2 = Menu.new(name: "Bún chả", price: 40000) +menu3 = Menu.new(name: "Bánh mì", price: 20000) + +# Drinkの変数を定義してください +drink1 = Drink.new(name: "Tra", price: 5000, size: "S") +drink2 = Drink.new(name: "Tra", price: 10000, size: "M") + + +# 変数menusを定義して配列を代入してください +menus = [menu1, menu2, menu3, drink1, drink2] + +index = 0 +menus.each do |menu| + puts "#{index}. #{menu.info}" + index = index + 1 +end + +puts "メニューの番号を選んでください" +selected_menu = gets.to_i + +puts "選択されたメニュー:#{menus[selected_menu].get_specs}" +puts "お会計は:#{menus[selected_menu].price}vndです" \ No newline at end of file