동전 던지기에서 연속 머리를 계산하려고합니다. 불행히도 연속적인 헤드에 대한 카운터가 제대로 증가하지 않습니다. 어떤 아이디어? 아래의 코드 샘플 출력 :C++ 동전 뒤집기 프로그램 오류
#include <iostream>
#include <string>
#include "random.h"
using namespace std;
string FlipCoin (string flip);
int main() {
string flip;
int consecutiveHeads = 0;
int totalFlips = 0;
while (consecutiveHeads<3) {
totalFlips++;
if (FlipCoin(flip) == "heads") {
consecutiveHeads++;
} else {
consecutiveHeads = 0;
}
cout <<totalFlips<<" "<< FlipCoin(flip) << " " << consecutiveHeads <<endl;
}
cout <<"It took "<< totalFlips <<" coin flips to get 3 consecutive heads."<< endl;
return 0;
}
string FlipCoin(string flip) {
if (randomChance(0.50)) {
return "heads";
} else {
return "tails";
}
}
출력 :
1 heads 1
2 tails 0
3 tails 1
4 heads 2
5 heads 3
It took 5 coin flips to get 3 consecutive heads.
오케이 - 그게 고쳐 줘서 고마워! – user2738727