2016-02-12 58 views
1

因此,對於我的班級任務,我被告知要做一個硬幣折騰程序,但採用與我在網上找到的不同的方式。 我們實驗室的目標是創建一個投幣遊戲程序,它將運行4個不同的時間,如果它獲得4個頭或4個尾巴,它將「成功」。如果失敗(即2個尾巴2個頭),那麼它將繼續嘗試,直到獲得4個頭部或4個尾部。 到目前爲止,我有C++硬幣折騰混亂

#include <iostream> 
#include <cstdlib> 
using namespace std; 

enum coinFace { head , tail }; 

void coinToss() 
{ 
    for (int flips = 1; flips <= 4; flips++) 
    { 
     int result = rand() % 3; 
     if (result == 1) 
      cout << "Heads" << endl; 
     else 
      cout << "Tails" << endl; 
    } 
} 

int main() 
{ 
    unsigned seed; 
    int trials; 
    cout << "Please enter the seed." << endl; 
    cin >> seed; 
    cout << "How many trials would you like?" << endl; 
    cin >> trials; 
    srand(seed); 
    coinToss(); 

    return 0; 
} 

我很迷茫在這一點上。我不明白如何使用枚舉功能,我真的不知道如何......從這裏繼續。 http://imgur.com/Rt3Lf9l這是分配的職位。我希望能夠學習,而不是簡單地接受答案!但我不知道如何從這裏繼續下去,所以我很可能需要很多幫助。先謝謝你。

+0

'int result = rand()%3;'會產生三個數字:0,1和2. if(result == 1)'head。如果結果== 0或2,尾巴。這對我來說似乎不公平。 – user4581301

+0

建議:而不是'for(int flips = 1; flips <= 4; flips ++)',簡化和去'for(int flips = 0; flips <4; flipips ++) – user4581301

回答

0

因爲您只需要存儲頭部/尾部的狀態,所以可以使用枚舉或以前的任何東西。你需要添加的內容如下:1)計算頭部/尾部的時間。 2)裁判失敗/成功。