ruby 文件

$A="A"
$B="B"
$C="C"
$D="D"
class Employee
  def initialize(empNo,empName,empScore)
    @empNo=empNo
    @empName=empName
    @empScore=empScore
  end


  def empno
    return @empNo
  end


  def empname
    return @empName
  end


  def empscore
    return @empScore
  end


  def getLevel(empScore)
    case @empScore
      when   90..100 then  @level=$A
      when  80...90  then  @level=$B
      when  65...80  then  @level=$C
      else
        @level=$D
    end
  end


  def level
    return @level
  end
end


# 排序过程
def bubble_sort(arr)
    1.upto(arr.length-1) do |i|
      (arr.length-i).times do |j|
        if arr[j].empscore.to_f<arr[j+1].empscore.to_f
          arr[j],arr[j+1] = arr[j+1],arr[j]
        end
      end
    end
  arr
end




$emps = Array.new


isexist = true
while isexist
  puts "请输入员工信息的路径:"
  filename = gets
  if File.exist?(filename.chop!) then
    file=File.new(filename)
    file.readlines.each do |line|
      tem = line.to_s.split("_")
      emp = Employee.new(tem[0],tem[1],tem[2].to_f)
      emp.getLevel(tem[2].to_f)
      $emps << emp
    end
    isexist = false
  end
end


  bubble_sort($emps)
  targetFile = "result.log"
  file = File.new(targetFile,'w')
  file.puts("排序结果")
  file.puts("工号  姓名  分数  等级")
  $emps.each do |i|
    file.puts "#{i.empno}   #{i.empname}    #{i.empscore}  #{i.level}"
  end



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值