dポイントプレゼントキャンペーン実施中!

クイズを出題し、1,2,3で答える3択方式のクイズプログラムを作ってください。1,2,3以外の数字が入力された場合は、何度でも繰り返すプログラムにしてください。

問題です。この中で青森の名産は?
1.すいか 2.りんご 3.みかん
答えは? 5
1~3の数字を入力してください。
答えは? 0
1~3の数字を入力してください。
答えは? 2
おめでとう。正解です。

上の例のようなプログラムを作ってください。
よろしくお願いします。

質問者からの補足コメント

  • 下のプログラムではエラーが出てしまいました。
    どこが間違っているか教えてもらえませんか?
    最初と最後を少し略しています
     int score;
     printf("問題です。次の中で青森の名産は?");
    printf("1.すいか 2.りんご 3.みかん");
    printf("答えは?");
    while (1) {
    scanf("%d",&score);
    if (score>=4);
    printf("1~3の数字を入力してください。");
    else if (score=0)
    printf("1~3の数字を入力してください。");
    else
    break;
    }
       if(score = 2)
    printf("おめでとう。正解です!\n");
    else if(score=1,3)
    printf("不正解\n");

      補足日時:2015/06/17 01:54
  • if (score>=4);
    ↑コードは効果を持たない

    else if (score=0)
    ↑elseの位置が誤っている、おそらく不正な代入

    if(score = 2)
    ↑おそらく不正な代入

    以上のエラー、警告が出てきました。

    No.3の回答に寄せられた補足コメントです。 補足日時:2015/06/17 23:59

A 回答 (4件)

基本構文


if ( 条件式 ) { 処理; 処理; ... } else if ( 条件式 ) { 処理; 処理; ... } else { 処理; 処理; ... }

省略形として
if ( 条件式 ) 処理; else if ( 条件式 ) 処理; else 処理;

場合によっては更に省略できる
if ( 条件式 || 条件式 ) 処理; else 処理;

ちなみに数値同士の比較をする条件式とは、以下のいずれかです
A < B
A <= B
A == B
A >= B
A > B
    • good
    • 1

どんな「エラー」が出た?

この回答への補足あり
    • good
    • 0

なんか以前にも作成依頼出していませんでしたかね?


まぁ、勝ち組には必要なんですが。

>if(score = 2)

この条件式は常に真です。

>if(score=1,3)

こっちも常に真です。
先の条件が常に真ですから評価されることはありませんが。

比較と代入の区別はつけましょう。
あと、コンマ演算子についても調べてみましょう。
コンマ演算子の評価結果がどうなるのか?というのも。


まぁ、他人を効率よく遣う立場なのですから調べる必要はないかも知れません。
サー!!
    • good
    • 1

「作ってください」が質問じゃないことは理解してるね?

    • good
    • 2

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