アプリ版:「スタンプのみでお礼する」機能のリリースについて

プログラミングで困っています。
Rubyを使って以下の内容のものをつくりたいのですが、どうやってもわかりません。


問 今年の流行語は?
1、2、3

1〜3の中から答えを選ぶ

次の問題

今年の人気商品は?
1.2.3

1〜3から答えを選ぶ


最後にあなたの正答率は〜点です

と表示、実行するプログラムです。

初めから最後までどのように表記すればいいのか教えてください。
どうかお願いします。

A 回答 (3件)

こんなかんじでしょうか?


問題を追加しやすくしてみました。

> あなたの正答率は〜点です

率か得点か不明だったので、正答率にしました。

-----
questions = []
questions.push ["今年の流行語は?", "選択肢1", "選択肢2", "選択肢3", 1] # 最後は正解番号
questions.push ["今年の人気商品は?", "選択肢1", "選択肢2", "選択肢3", 2]
# ここに問題を追加していく


correct_count = 0
questions.each_with_index do |q, idx|
header = idx == 0 ? "問 " : "次の問題\n\n"
q[0..-2].each_with_index {|item, idx| puts idx == 0 ? header + item : "#{idx} : #{item}" }
print "\n1~3の中から答えを選ぶ :"
input_number = STDIN.gets.to_i
puts
correct_count += 1 if input_number == q[-1]
end

correct_rate = (100.0*correct_count/questions.size + 0.5).to_i
puts "あなたの正答率は#{correct_rate}%です"
-----
    • good
    • 1

まず画面遷移と各画面の内容を具体的にする。



次に最初の画面を静的HTMLファイルとするのかプログラムで動的に生成するのかを決め、後者とする場合は画面を送出するプログラムの処理手順を具体的に書きだす。箇条書きでもよいし何らかのチャート図を知っていたらそれで記述する。

次に1画面目の入局結果を受け取り2画面目の内容を送出するプログラムの処理手順を上記と同様の方法でまとめる。

そうやって最後から2番目の画面での入力内容を受け取り最後の結果画面を送出するプログラムまでの処理内容をまとめる。

それから実装言語(今回の場合はPyby)を使ってコーディングする。
最初の画面を静的HTMLとするならそこはHTMLで書くだけ。
プログラムで動的に生成する場合もベースとなる画面イメージをHTMLで書いて準備すると楽です。

ちなみに上記が何を言っているのかわからなかったり、「なるほどそういう進め方があるのか」とピンッと来ない場合はWebに限らずプログラム開発の手順を学んだ方がよいでしょう。
アルゴリズムの勉強もお忘れなく。
プログラミング言語は単に基本文法を知っていればあとは参考書などを見ながら書けます。
一番大事なのは処理手順を母国語できちんと考えることが出来るかどうかです。

参考まで。
    • good
    • 1

今は学校でRubyを習うの?

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!