Newer
Older
Ruby / redo.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

puts "1から9の間の数字を3回入力してください。その合計を足します。"
tasu = 0
goukei = 0

while tasu < 3
  printf("数字を入力してください: ")
  kazu = gets.to_i

  if kazu > 9 || kazu < 0
    printf("----1から9の数字を入力してください。----\n")
    redo
  end

  goukei += kazu
  printf("入力された数字: %d\n", kazu)
  tasu += 1
end

printf("3つの数字の合計は %dです。\n", goukei)

# redoとは、繰り返し処理を中断し、処理を最初からやり直す働きを持っています。
# 3回入力してもらいますが、1〜9以外の数字を入力すると9行目の
# printf("数字を入力してください: ")に戻り、処理を最初からやり直します。

# 最後に3つの入力された数字の合計を出力しますが、1〜9以外の数字が入力されたときは足されません.

#-------------改良するなら-------------
# redoだけではなく、nextやbreakもプログララムの中で使ってみよう!
# たとえば、1〜4の4択クイズで不正解の場合はredoでやり直し、正解したらbreakでプログラムを終了するようなプログラム

# また、このプログラムは3回ですが、最初に何回入力させるかをユーザーに入力させてその回数分だけ入力を繰り返してみよう!