LoginSignup
1
0

More than 5 years have passed since last update.

課題レポート:【アルゴリズム】本を管理するアプリをつくってみよう ver.2

Posted at
book.rb

def input_book_info(books)
  book = {}
  puts "本の名前を入力してください:"
  book[:name] = gets.chomp
  puts "本の値段を入力してください:"
  book[:price] = gets.to_i
  puts "著者を入力してください:"
  book[:author] = gets.chomp
  books << book
end


def show_book_info(books)
  unless books.empty?
    index = 0
    books.each do |book|
      puts "番号:[#{index}], 本の名前: #{book[:name]}"
      index += 1
    end

    puts "本の番号を入力してください:"
    input = gets.to_i
    book = books[input]
 puts "本の名前: #{book[:name]}\t|値段: #{book[:price]}\t|著者: #{book[:author]}"
  else
    puts "本が登録されていません。"
  end
end

def end_program
  puts "ご利用ありがとうございました"
  exit
end


books = []

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

  if input == 0
    input_book_info(books)
  elsif input == 1
    show_book_info(books)
  else
    end_program
  end
end

二回目ということもあり、メソッドの配置などはうまくでき、引数の理解も深まった。
指摘された通りに、ハッシュ、配列関係の理解が乏しい。
book、booksも混合が多くあり、理解できているとはいえない。
動画カリキュラムの他に副教材などで理解に努めたい。
#の使いどころなど、あやふやなところがいまだ多くあった。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0