#!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- total = 0 kaisu = 0 print"レポートの合計得点と平均点数を求めます。\n" print"終了したい場合は「exit」と入力して下さい。\nレポートの回数は8回で自動的に終了します。\n" while true print"レポートの得点を入力して下さい。\n" score = gets.chomp! kaisu += 1 total += score.to_f if score == "exit" || kaisu >= 8 break end if score.to_f <=0 print"マイナスなんてありえません。打ち間違いです。\n" kaisu -= 1 total -= score.to_f redo elsif score.to_f >= 8 print"最高得点は8点です。打ち間違いですか?YESなら「Y」を、NOなら「N」を入力して下さい。\n" miss = gets.chomp! if miss == "Y" print"打ち間違いですね。わかりました。\n" kaisu -= 1 total -= score.to_f redo elsif miss == "N" print"打ち間違いではないのですね。わかりました。\n" end end end average = total / kaisu printf("レポートの合計は%.1f点です。\n",total) printf("レポートの平均は%.1f点です。\n",average) -------------------------------------------------------------- #!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- total = 0 report = 1 print"レポートの合計得点を求めます。\n" while true printf("%d回目のレポートの得点を入力してください(終了はexitと入力)\n", report) score = gets.chomp! total += score.to_f if score == "exit" break elsif report >= 8 break elsif score.to_f > 8 #scoreが8点以上 print"最高得点は8点です。本当に間違いではありませんか\n" print"y or n\n" answer = gets.chomp!.to_s if answer == "y" end if answer == "n" print"入力しなおしてください。\n" total -= score.to_f redo end elsif score.to_f < 0 #scoreがマイナス print"マイナスなんてことはありません。やりなおし\n" total -= score.to_f redo end #p score report += 1 end average = total / report.to_f printf("レポートの合計は%.1f点です。\n",total) printf("平均点は%.1f点です。\n",average) --------------------------------------------------- #!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- total = 0 number = 1 print"8回分のレポートの得点の合計を計算します。(終了はexit)\n" while true printf("%d回目のレポートの得点を入力してください。\n",number) tokutenn = gets.chomp! if number >= 8 break elsif tokutenn.to_f < 0 print"数値がマイナスです。確認してください。\n" redo elsif tokutenn.to_f > 8 print"数値が9以上です。確認してください。間違いはないですか?(YかNで入力)\n" answer = gets.chomp! p answer if answer == "Y" print "加算します。\n" elsif answer == "N" print"正しい数値を入力してください。\n" redo end end if tokutenn == "exit" break end total += tokutenn.to_f number += 1 end avarage = total/number printf("得点の合計は%.1f点です。\n",total) printf("平均は%.1f点です。\n",avarage)