0

質問は次のとおりです。

野生で発見された新しい動物を分類できるようにしたいと考えています。関数を使用してrand()ランダムな整数 (0 または 1) を生成し、一連の質問に対する No または Yes の回答をそれぞれ表します。次に、回答を使用して動物を次のいずれかに分類できます。

  • 昆虫
  • 爬虫類
  • 哺乳類

いずれの場合も、識別が行われるまで質問が続きます。質問ごとに、回答にランダムな値が必要です。各動物を識別するには、ネストされたif-else構造を使用します。

以下に、いくつかのサンプル プログラムの実行とその出力を示します。各例は、個別のプログラムの実行です。

ランダムアニマルジェネレーター

その動物は脊椎動物ですか?はい - 昆虫ではありません
動物は温血動物ですか?はい – 爬虫類ではありません
動物は飛べますか?はい – 動物は鳥です!

ランダムアニマルジェネレーター

その動物は脊椎動物ですか?いいえ、動物は昆虫です!

ランダムアニマルジェネレーター

その動物は脊椎動物ですか?はい - 昆虫ではありません
動物は温血動物ですか?いいえ – 動物は爬虫類です!

私は困惑している。else ifすべてのステートメントを生成して順番に答えるにはどうすればよいですか? はいまたはいいえで答えてから、もう一度はいまたはいいえなどで答えさせるにはどうすればよいですか? rand()また、関数でランダムに出てくるようにするにはどうすればよいですか?

コード:

#include <iostream> 
using namespace std; 

main () { 
    char Answer; 
    cout<<" Random Animal Generator\n"; 
    cout << "Is the animal a vertibrate?(1=Yes/0=No)? "; 
    cin >> Answer; 

    if(Answer == '1') 
        cout << "Not Insect \n"; 
    else (Answer== '0') 
        cout<<"The animal is an Insect!\n"; 

    cout<<endl; 
    system("pause"); 
}
4

2 に答える 2

2

ここから始めましょう:

#include <iostream> 
using namespace std; 

int getRandomAnswer()
{ // code here to return a 1 or 0 randomly
}


main () { 
    cout<<" Random Animal Generator\n"; 
    cout << "Is the animal a vertebrate?"; 

    if(getRandomAnswer() == 1) 
    {
        cout << "Yes - Not Insect \n"; 
        cout << "Is the animal warm blooded?"
        if (getRandomAnswer() == 1)
        {
          // Code for "warm blooded" case goes here
        }
        else
        {
          // Code for "not warm blooded" case goes here
        }
     }
    else
    {
       cout<<"No. The animal is an Insect!\n"; 
    }

    cout<<endl; 
}

また、system("pause");いかなる場合も使用しないでください。キーが押されるのを待ちたい場合は、そうしてください。しかし、他の人のマシンで呼び出されたコマンドがあるかどうかpause、もしあればそれが何をするかを知る方法はありません。たとえば、私のマシンにはpause、自宅の原子炉の冷却材ポンプを一時停止するというコマンドがあります。私のマシンであなたのコードをテストした場合の潜在的な害を想像してみてください!

于 2012-06-20T01:48:59.473 に答える
0

Cライブラリには、rand()0からRAND_MAXまでの乱数を返す関数があります。ここで、0または1の乱数が必要です。乱数を受け取り、等しい確率(または非常に等しい)で0/1を返す優れた関数は何ですか?

自然数の性質を考えてください。数の約半分が持っていて、残りの半分が持っていないプロパティが必要です。

于 2012-06-20T01:53:49.250 に答える