Ruby

【アルゴリズム】本を管理するアプリをつくってみよう!

アルゴリズム、メソッド、if文、while文など様々なことが学べます。

事前準備

雛形を用意しています。
しかし、この雛形はどこかが間違っています。


book.rb
def input_book_info
  book = {}
  puts "本の名前を入力してください:"
  book[:name] = gets.chomp
  puts "本の値段を入力してください:"
  book[:price] = gets.to_i
  puts "出版社を入力してください:"
  book[:company] = gets.chomp
  books << book
end

def show_book_info(books) unless books.empty? books.each do |book| put "番号:[#{index}], 本の名前: #{book[:name]}" index += 1 end
puts "詳細を見る本の番号を入力してください:" input = gets.to_i book = books[input]
puts "本の名前: #{book[:name]}\t|値段: #{book[:price]}\t|出版社: #{book[:company]}" else puts "本が登録されていません。" end
def end_program puts "ご利用ありがとうございました" exit end

books = []
while true do puts "登録された本の数:#{books.length}" puts "[0]:本の情報を入力する" puts "[1]:本の名前を一覧表示する" puts "[2]:プログラムを終了する" input = gets
if input == 0 input_book_info(books) elsif input == 1 show_book_info(books) else end_program end end

問題: 1

上記のプログラムのすべての機能を正常に動くようにターミナルで確認しながら修正してください。


アプリの仕様


  • input_book_infoメソッド =>「本の情報を登録する」
  • show_book_infoメソッド =>「本の情報を一覧表示し、さらに選択した本の詳細情報を表示する」
  • end_programメソッド =>「プログラムを終了する」