我正在嘗試設置一個程序來幫助我照顧課堂學生的評分。我已經設置好了,讓一個學生班通過一個數組讀取文件(我在Ruby中不太熟悉)。我的編程經驗是用java編寫的,所以如果有錯誤可以用我的道歉來解釋。預先感謝您的幫助。類數組交互Ruby
class Student
def initialize(str_LastName, str_FirstName, arr_Score)
@str_LastName = str_LastName
@str_FirstName = str_FirstName
@arr_Score = arr_Score
str_Grade = ""
int_OutOf = 415
end
def get_LastName
str_LastName
end
def get_FirstName
str_FirstName
end
def get_Grade
str_Grade
end
def set_TotalScore()
sum = 0
arr_Score.each do |item|
sum += item
end
arr_Score[12] = sum
end
def set_Grade
if arr_Score[12]/int_OutOf >= 0.9
str_Grade = "A"
elsif arr_Score[12]/int_OutOf >= 0.8
str_Grade = "B"
elsif arr_Score[12]/int_OutOf >= 0.7
str_Grade = "C"
elsif arr_Score[12]/int_OutOf >= 0.6
str_Grade = "D"
else
str_Grade = "F"
end
end
end
def main
file_name = "Grades"
arr_students = Array.new(31)
arr_scores = Array.new(12)
int_i = 0
file_io = open(file_name).readlines.each do |line|
array = line.split(",").map(&:strip)
student = Student.new(array[0],array[1],array[2..-2]) #the final element in the array is for the final score
arr_students[int_i] = student
puts "read #{arr_students[int_i]}"
end
file_name = "Graded"
file_io = open(file_name,"a+")
arr_students.each do |student|
set_TotalScore
set_Grade
file.io_write(student)
puts "write #{student}"
end
end
main if __FILE__==$0
忘了提,在成績文本文件格式,因此每行1個學生得分在名稱後到來,並且我將最後一個數組槽保持爲0,以便我可以將其設置爲最終得分。 – Thailer
問題是什麼? – steenslag