Pages

Selamat Datang Di Blog Kuya
Subscribe:

Minggu, 30 Mei 2010

menu pada Ruby

def factorial(n)
  if n < 1
    raise "argument must be > 0"
  elsif n == 1
    1
  else
    n * factorial(n-1)
  end
end

def getTimes(type="",ranges="")
  if type == "minutes"
    times = Time.now + ranges * 60
    times = times.strftime("%Y-%m-%d %H:%M:%S")
  elsif type == "hours"
    times = Time.now + ranges * 60 * 60
    times = times.strftime("%Y-%m-%d %H:%M:%S")
  elsif type == "days"
    times = Time.now + ranges * 24 * 60 * 60
    times = times.strftime("%Y-%m-%d %H:%M:%S")
  end

  return times
end

def bilPrima(maxDeret="")
  deret_awal = []
  deret_akhir = []
  deret_awal = [2, 3, 5]

#Tampung Deret Prima
ii = 2
while ii < maxDeret
  deret_akhir[ii] = true
  deret_awal.each do |key|
    jj = 2 * key.to_i
    while jj < maxDeret
      deret_akhir[jj] = false
      jj += key.to_i
    end
  end

  ii += 1
end

#Print Deret Prima
print "Deret Prima Akhir : "
a = 0
deret_akhir.each do |keys|
  if keys == true
    print "\n#{a}"
  end
  a += 1
end
puts "\n"
end

def cetakmenu
  loops = 0
  while loops < 1
    print "<<<<<

>>>>>\n"
    print "1. Factorial\n"
    print "2. Get Times\n"
    print "3. Bilangan Prima\n"
    print "\n"
    print "Choice : "
    menu = gets
    menu.chop!

    if menu.to_i == 1
      print "\nMasukkan Nilai faktorial : "
      faktorial = gets
      faktorial.chop!

      print "Hasilnya #{factorial(faktorial.to_i)}"
      print "\n\n"
    elsif menu.to_i == 2
      print "\nMasukkan Type : "
      tipe = gets
      tipe.chop!
      print "Masukkan Ranges : "
      rg = gets
      rg.chop!
      print getTimes(tipe.to_s, rg.to_i)
      print "\n\n"
    elsif menu.to_i == 3
      print "\nMaksimal Deret Prima : "
      jumlah = gets
      jumlah.chop!
      bilPrima(jumlah.to_i)
      print "\n"
    else
      print "Exiting......\n"
      loops += 1
    end
  end
end #end def cetakmenu

cetakmenu()

Tidak ada komentar:

Posting Komentar