Newer
Older
Ruby / score2.rb
@mktao2 mktao2 9 days ago 977 bytes upload all files
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

require 'csv'			# CSVライブラリを呼び出す
require './kprintf.rb'		# printfの%Xsでの幅を合わせるため

score=[]
score2=[]
name =[]
sum = 0
sum2 = 0
seiseki = CSV.read(ARGV[0])	# ./score.rb score.csv のように指定する想定
seiseki.each do |row|		# 1レコードずつ取り出してrowに入れて繰り返す
  # rowには ["山田太郎", "50"] のような形式が順番に入る
  name  << row[0]		# 第0要素は氏名
  score << row[1].to_i		# 第1要素は得点の文字列なので .to_i で整数化
  score2 << row[2].to_i
  sum += row[1].to_i
  sum2 += row[2].to_i
end
average = sum.to_f/score.length
average2 = sum.to_f/score.length

i = 0
print "--氏名--------------+-国語得点-+-平均との差--+-数学得点-+-平均との差-\n"
while i < score.length
  printf("%-20s %8d   %11.1f %10d   %10.1f\n", name[i], score[i], score[i]-average,score2[i], score2[i]-average2)
  i += 1
end