他の変数の出力がプログラムの最後の確率変数と同じ配置領域にある場合でも、変数「確率」は常にゼロになります。配置に関係している気がしますが、初期化の問題かもしれません。確率がゼロになることはありません。
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
int main() {
int die1,
die2,
sum,
turns,
win=0,
loss=0;
double probability=0;
int thepoint, rolls;
srand(time(0));
cout<<"How many turns would you like? ";
cin>>turns;
for(int i=0; i<turns; i++)
{
sum=0;
die1=rand()%6;
die2=rand()%6;
sum=die1+die2;
//cout<<"\nFirst die is a "<<die1<<endl;
//cout<<"Second die is a "<<die2<<endl;
//cout<<"\n\n>>>Turn "<<i<<": You rolled "<<sum;
switch (sum){
case 2: case 3: case 12:
//cout<<"You have lost this turn with 2 3 or 12!"<<endl;
loss++;
break;
case 7:
//cout<<"\nYea! You won this turn with a 7 on the first roll!"<<endl;
win++;
break;
case 11:
//cout<<"You won this turn ith 11!"<<endl;
win++;
break;
default:
//cout<<"\nRolling again!"<<endl;
thepoint=sum;
rolls=1;
sum=0;
//cout<<"\nRoll 1 - Your point is "<<thepoint<<endl;
while (sum != thepoint)
{
//srand(time(0));
die1=rand()%6;
die2=rand()%6;
sum=die1+die2;
rolls++;
//cout<<"Roll "<<rolls<<". You rolled "<<sum<<endl;
if (sum == thepoint)
{
//cout<<"You won this turn in the while with a point match!"<<endl;
win++;
break;
}
if (sum == 7)
{
loss++;
//cout<<"You lost this turn in the while with a 7"<<endl;
break;
}
}
}
}
probability = win/turns;
cout<<"No. of Turns: "<<turns<<"\n";
cout<<"No. of Wins: "<<win<<"\n";
cout<<"No. of Loses: "<<loss;
cout.precision(6);
cout<<"\nExperimental probability of winning: "<<fixed<<probability;
cin.get();
cin.get();
return 0;
}