QUE ALGUIEN ME AYUDE!!!!! Tengo que hacer un programa para clase y es de dados locos. el titulo es este: El juego de los dados locos funciona así: se lanzan dos dados y se suman sus puntuaciones; cuando el
resultado es 8 o 9 se gana y cuando es 2, 7 o 12 se pierde. En los demás casos se repite el lanzamiento de la
pareja de dados, hasta que sale un 8 o 9 (con la que se pierde) o de nuevo obtenemos la suma inicial (con la
que se gana). Escribe un programa que simule tantas partidas como el usuario desee al final del programa y calcule la probabilidad de ganar
(es decir, la frecuencia relativa que se obtiene al dividir el número de partidas ganadas entre el total de las partidas
jugadas).
HASTA AHÍ BIEN, HE HECHO TODO EL PROGRAMA Y ESTA BIEN PERO CUANDO LLEVO MAS DE DOS PARTIDAS Y LA SUMA TOCA UN 5 O 6 O 4 SE PARA Y NO ME CUENTA COMO PARTIDA GANADA O PERDIDA YA QUE SOLO PUEDE HABER DOS OPCIONES.
ALGUN ALMA CARITATIVA QUE PUEDA AYUDARME PORFAVOR.
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
srand(time(NULL));
int numDado1, numDado2,numSumaI=0,numSuma=0,partidas,iteracion=0;
double probP=0,probG=0,ganar=0, perder=0;
char res;
do
{
numDado1=1+rand()%(6-1+1);
numDado2=1+rand()%(6-1+1);
cout<<"Numero 1: "<<numDado1<<endl;
cout<<"Numero 2: "<<numDado2<<endl;
numSumaI=numDado1+numDado2;
cout<<"La Suma: "<<numSumaI<<endl;
if(numSumaI==8||numSumaI==9)
{
cout<<"Enorabuena, has ganado"<<endl;
ganar++;
}
else
{
if(numSumaI==2||numSumaI==7||numSumaI==12)
{
cout<<"Pringao, has perdido"<<endl;
perder++;
}
else
{
if(numSumaI==3||numSumaI==4||numSumaI==5||numSumaI==6||numSumaI==10||numSumaI==11)
{
while(iteracion==0)
{
cout<<"Tiro otra vez los dados"<<endl;
numDado1=1+rand()%(6-1+1);
numDado2=1+rand()%(6-1+1);
cout<<"Numero 1: "<<numDado1<<endl;
cout<<"Numero 2: "<<numDado2<<endl;
numSuma=numDado1+numDado2;
cout<<"La Suma: "<<numSuma<<endl;
if(numSuma==8||numSuma==9)
{
cout<<"Pringao, has perdido"<<endl;
perder++;
iteracion++;
}
if(numSuma==numSumaI)
{
cout<<"Enorabuena, has ganado"<<endl;
ganar++;
iteracion++;
}
}
}
}
}
cout<<"Quieres volver a jugar. Pulsa s para continuar ";
cin>>res;
partidas++;
}while(res=='s');
probG=ganar/partidas*100;
probP=perder/partidas*100;
cout<<"Partidas ganadas = "<<ganar<<endl;
cout<<"Partidas perdidas = "<<perder<<endl;
cout<<"Partidas totales = "<<partidas<<endl;
cout<<"Tu probabilidad de ganar es: "<<probG<<"%"<<endl;
cout<<"Tu probabilidad de perder es: "<<probP<<"%";
return 0;
}
resultado es 8 o 9 se gana y cuando es 2, 7 o 12 se pierde. En los demás casos se repite el lanzamiento de la
pareja de dados, hasta que sale un 8 o 9 (con la que se pierde) o de nuevo obtenemos la suma inicial (con la
que se gana). Escribe un programa que simule tantas partidas como el usuario desee al final del programa y calcule la probabilidad de ganar
(es decir, la frecuencia relativa que se obtiene al dividir el número de partidas ganadas entre el total de las partidas
jugadas).
HASTA AHÍ BIEN, HE HECHO TODO EL PROGRAMA Y ESTA BIEN PERO CUANDO LLEVO MAS DE DOS PARTIDAS Y LA SUMA TOCA UN 5 O 6 O 4 SE PARA Y NO ME CUENTA COMO PARTIDA GANADA O PERDIDA YA QUE SOLO PUEDE HABER DOS OPCIONES.
ALGUN ALMA CARITATIVA QUE PUEDA AYUDARME PORFAVOR.
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
srand(time(NULL));
int numDado1, numDado2,numSumaI=0,numSuma=0,partidas,iteracion=0;
double probP=0,probG=0,ganar=0, perder=0;
char res;
do
{
numDado1=1+rand()%(6-1+1);
numDado2=1+rand()%(6-1+1);
cout<<"Numero 1: "<<numDado1<<endl;
cout<<"Numero 2: "<<numDado2<<endl;
numSumaI=numDado1+numDado2;
cout<<"La Suma: "<<numSumaI<<endl;
if(numSumaI==8||numSumaI==9)
{
cout<<"Enorabuena, has ganado"<<endl;
ganar++;
}
else
{
if(numSumaI==2||numSumaI==7||numSumaI==12)
{
cout<<"Pringao, has perdido"<<endl;
perder++;
}
else
{
if(numSumaI==3||numSumaI==4||numSumaI==5||numSumaI==6||numSumaI==10||numSumaI==11)
{
while(iteracion==0)
{
cout<<"Tiro otra vez los dados"<<endl;
numDado1=1+rand()%(6-1+1);
numDado2=1+rand()%(6-1+1);
cout<<"Numero 1: "<<numDado1<<endl;
cout<<"Numero 2: "<<numDado2<<endl;
numSuma=numDado1+numDado2;
cout<<"La Suma: "<<numSuma<<endl;
if(numSuma==8||numSuma==9)
{
cout<<"Pringao, has perdido"<<endl;
perder++;
iteracion++;
}
if(numSuma==numSumaI)
{
cout<<"Enorabuena, has ganado"<<endl;
ganar++;
iteracion++;
}
}
}
}
}
cout<<"Quieres volver a jugar. Pulsa s para continuar ";
cin>>res;
partidas++;
}while(res=='s');
probG=ganar/partidas*100;
probP=perder/partidas*100;
cout<<"Partidas ganadas = "<<ganar<<endl;
cout<<"Partidas perdidas = "<<perder<<endl;
cout<<"Partidas totales = "<<partidas<<endl;
cout<<"Tu probabilidad de ganar es: "<<probG<<"%"<<endl;
cout<<"Tu probabilidad de perder es: "<<probP<<"%";
return 0;
}