quick bug report, maybe it'll help:
Code
if (option[0]!='p')
{
for (int i=1;i<n;i++)
{
Loop starts at 1, win[0] is never calculated, thus never changes.
Code
for (int i=0;i<n;i++)
{
switch (option[i+1])
{
case 'e':
{
if (add_dice%2==0)
win[i+1]=1;
else
win[i+1]=0;
} break;
case 'o':
{
if (add_dice%2==1)
win[i+1]=1;
else
win[i+1]=0;
} //break;
}
}
float total = n*50;
int winners = 0;
for (int i=0;i<n;i++)
if (win[i+1]==1)
winners++;
for (int i=0;i<n;i++)
if (win[i+1]==1)
money[i+1]+=(total/winners);
loop ends at n-1, however arrays are accessed to indexes up to i+1, going from 1 to n. In an array of N elements, indexes span from 0 to n-1, index n doesn't exist. You have a case of buffer overload, this can result in data corruption and crashes when you attempt to pause the game.