ruby

原创 2013年12月01日 22:40:54
$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,sortedFlag)
  if sortedFlag == "s"
    puts "你选择了升序"
    1.upto(arr.length-1) do |i|
      (arr.length-i).times do |j|
        if arr[j].empscore>arr[j+1].empscore
          arr[j],arr[j+1] = arr[j+1],arr[j]
        end
      end
    end
  else
    puts "你选择了降序"
    1.upto(arr.length-1) do |i|
      (arr.length-i).times do |j|
        if arr[j].empscore<arr[j+1].empscore
          arr[j],arr[j+1] = arr[j+1],arr[j]
        end
      end
    end
  end
  arr
end




$emps = Array.new
isendFlag = true
while isendFlag
  puts "输入员工工号:"
  empNo = gets()
  puts "输入员工姓名:"
  empName = gets
  puts "输入该员工的成绩(输入0到100之间的数或不能为空):"
  empScore = gets
  empScore = empScore.to_f
  while (empScore < 0 || empScore >100)
    puts "输入该员工的成绩(输入0到100之间的数或不能为空):"
    empScore = gets
    empScore = empScore.to_f
  end
  emp=Employee.new(empNo.chop!,empName.chop!,empScore)
  emp.getLevel(empScore)
  $emps << emp
  puts "是否继续输入员工信息(Y/N):"
  isGoon = gets
  isGoon.chop!
  if isGoon == "N" or isGoon == "n"
    isendFlag = false
  end
end
puts "总共输入#{$emps.size}个员工的信息,详细如下:"
puts "工号  姓名  分数  等级"
$emps.each do |i|
   print "#{i.empno}   #{i.empname}    #{i.empscore}  #{i.level}"
  print "\n"
end


while true
  puts "希望按升序(s)还是降序(j)或退出(exit):"
  sortedFlag = gets
  sortedFlag.chop!
  if sortedFlag == "exit"
    break
  end
  bubble_sort($emps,sortedFlag)
  puts "排序结果:"
  puts "工号  姓名  分数  等级"
  $emps.each do |i|
    print "#{i.empno}   #{i.empname}    #{i.empscore}  #{i.level}"
    print "\n"
  end
end

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Ruby on Rails安装

环境:ubuntu首先安装rubysudo apt install ruby查看ruby版本ruby -v安装rails配置gem源由于默认的gem源使用的是国外的源,在国内速度慢而且时常无法访问,所...

庞果网在线编程子序列的个数问题ruby解答

题目地址: http://hero.pongo.cn/Question/Details?ID=111&ExamID=109 题目详情 本题同样来自caopengcs,只要你有兴趣,...

Ruby Install on mac with RVM

homebrew未装homebrew先装homebrew,否则报错$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/...

Ruby--如何处理csv文件?

csv文件简介ruby如何处理csv文件1,ruby有一个标准库用于处理csv文件,在代码中引入即可: require ‘csv’2,写csv文件的2个方法 CSV.open(“path/to/f...

为Ruby On Rails开发者准备的5款IDE

本文作者Senthil Kumar在博客上列出了一些经常被Ruby on Rails开发者使用的几个IDE。详细介绍了每个IDE的特性以及它们的使用方向。(以下是编译内容)   1. Jetbrai...

rails之常见的ruby内部变量

在ruby程序中,经常会看到一些以$开头的变量,这些不是指我们自己在程序中设置的全局变量,而是指系统内部已经设置好的变量,他们代表了一些特定的意思,下面搜集了一些常用的内部变量,用一些简单的代码说明他...

一个有意思的Ruby Webdriver超时问题的解决过程

因为写ruby的时候感觉混身上下都拽起来了,所以比较喜欢用ruby写代码。今天遇到了一个webdriver timeout的问题,问题本身还是因为我对webdriver不了解以及破文档导致的。首先我们...

C-Ruby源码分析

from:http://hi.baidu.com/yjpro/blog/item/4fdbdee74fd07b29b9382024.html 最近在读 Ruby 的源码,我分析的是Ruby-...

安装 Ruby运行环境----> CocoaPods安装和使用图解

安装 Ruby运行环境 步骤1 - 安装 RVM   RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白。     $ curl -L https://get.rvm.io |...

读书笔记之《七周七语言——理解多种编程范型》Ruby语言学习

正如此书中简介所介绍的一样,作为一个程序员,想要提高自己的编程水平,学习了解各种编程语言是一个很有效的途径。通过吸收各种语言的精髓融入到自己最熟悉的语言代码中去。也许你只是一个Objective-c程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)