前提・実現したいこと
行いたい項目を選択してください
[1]点数を登録する
[2]点数を確認する
[3]終了する
1
生徒名を入力してください
山田
生徒の年齢を入力してください
22
国語の得点は?
33
数学の得点は?
44
英語の得点は?
55
行いたい項目を選択してください
[1]点数を登録する
[2]点数を確認する
[3]終了する
ここに質問の内容を詳しく書いてください。
2を押すと次のようなエラーが出てきます。
発生している問題・エラーメッセージ
エラーメッセージ
test.rb:21:in show_student_name': undefined local variable or method
student' for main:Object (NameError)
該当のソースコード
ruby
ソースコード
def registration_student
student = {}
puts '生徒名を入力してください'
student[:name] = gets.chomp
puts '生徒の年齢を入力してください'
student[:age] = gets.to_i
puts "国語の得点は?"
japanese_score = gets.to_i
puts "数学の得点は?"
math_score = gets.to_i
puts "英語の得点は?"
english_score = gets.to_i
end
def show_student_name
i = 0
student.each do |student|
puts "#{i}: #{student[:name]}"
i += 1
end
puts '見たい生徒の番号を入力してください'
num = gets.to_i
input = gets.to_i - 1
person = data[input]
puts "名前: #{person[:name]}"
puts "年齢: #{person[:age]}"
puts "国語: #{person[:japanese_score]}"
puts "数学: #{person[:math_score]}"
puts "英語: #{person[:english_score]}"
end
students = []
while true
puts '行いたい項目を選択してください'
puts '[1]点数を登録する'
puts '[2]点数を確認する'
puts '[3]終了する'
input = gets.to_i
puts input
if input == 1
registration_student
elsif input == 2
show_student_name
elsif input == 3
exit
else
puts '無効な値です'
end
end
試したこと
理解できなくて試していません。
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー