Newer
Older
Ruby / calculate.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
def input_number_1
  print "数値1: "
  number_1 = gets.chomp.to_f
end
def input_number_2
  print "数値2: "
  number_2 = gets.chomp.to_f
end
def plus(x,y)
  x + y
end
def minus(x,y)
  x - y
end
def times(x,y)
  x * y
end
def divide(x,y)
  x / y
end
def kaijou(x)        #数値の階乗を計算する
  for i in 1..x-1
    x *= i
  end
end

puts "加法、減法、乗法、除法、階乗の計算ができます。"
while true
  calculate = gets.chomp
  if calculate == "加法"
    input_number_1
    input_number_2
    printf("%f+%f=",number_1,number_2)
    puts plus(number_1,number_2)
  elsif calculate == "減法"
    input_number_1
    input_number_2
    puts number_1.to_s + "-" + number_2.to_s + "="
    puts minus(number_1,number_2)
  elsif calculate == "乗法"
    input_number_1
    input_number_2
    puts number_1.to_s + "×" + number_2.to_s + "="
    puts times(number_1,number_2)
  elsif calculate == "除法"
    input_number_1
    input_number_2
    puts number_1.to_s + "÷" + number_2.to_s + "="
    puts divude(number_1,number_2)
  elsif calculate == "階乗"
    input_number_1
    puts number_1.to_s + "! ="
    puts kaijou(number_1)
  elsif calculate == ""
    
  end
end