Rubyの商品注文カリキュラムで詰まってしまい、質問させていただけないでしょうか。
やりたいこと:
出力下記の結果を出力させるための注文プログラムを作成したい
#実行結果 山田は2個の商品を購入し、全部で2500円支払いました。 結果として残りの所持金は7500円です。
わからない部分:
cartメソッドの記述
試したこと:
出力時にcartメソッド内にcountとtotal_priceを定義して購入個数と合計金額を表示させる処理を記述する必要があるということは分かるのですが、処理を行うための考え方がわからず詰まっています・・・
class Product attr_accessor :name, :price def initialize(name, price) @name = name @price = price end end class Book < Product attr_accessor :author, :publisher, :page_count end class CD < Product attr_accessor :artist, :year, :songs end class ShoppingCart attr_accessor :count, :total_price #商品情報と個数 def initialize self.count = 0 self.total_price = 0 end def add_product(product) self.count += 1 self.total_price += product.price end end class User attr_accessor :last_name, :first_name, :gender, :age def initialize(last_name, first_name, gender, age ) self.last_name = last_name self.first_name = first_name self.gender = gender self.age = age end def print_greetings puts "今日は。#{self.last_name} #{self.first_name} です。性別は#{self.gender}です。 歳は#{self.age}です。" end def male? return self.gender == "男" end end class ShoppingUser < User # 実装してください attr_accessor :money #所持金の追加 def initialize(money) @money = money end #カートに入れる def into_cart(product) #ショッピングカートクラスを変数cartに格納 cart = ShoppingCart.new #cart内の商品ごとの追加情報を表示 cart.add_product(product) end def cart #購入する個数(count) count = 1 #合計金額を表示(total_price) end #支払い金額と残り所持金の表示 def checkout cart = ShoppingCart.new #支払い金額 @money -= cart.total_price #残り所持金 end end book1 = Book.new('吾輩は猫である', 1000) book1.author = '夏目漱石' book1.publisher = 'Vitalize出版' book1.page_count = 400 cd1 = CD.new('SMAP', 1500) cd1.artist = 'スマップ' cd1.year = 2018 cd1.songs = ["青い稲妻", "世界に一つだけの花", "オレンジ"] user1 = ShoppingUser.new(10000) user1.last_name = '山田' user1.first_name = '花子' user1.gender = '女' user1.age = 30 user1.into_cart(book1) user1.into_cart(cd1) if user1.checkout puts "#{user1.last_name}は#{user1.cart.count}個の商品を購入し、全部で#{user1.cart.total_price}円支払いました。" puts "結果として残りの所持金は#{user1.money}円です。" else puts "#{user1.last_name}はチェックアウトできませんでした。" puts "なぜなら買い物の合計金額が#{user1.cart.total_price}円なのに対し、所持金は#{user1.money}円しかなかったからです。" end
申し訳ありませんが、助言をいただけないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。