EL PROGRAMA ME DA ERROR POR ALGUNA RAZÓN Y ME ENFOCA AL 'SRAND(time( NULL) )'
Y HONESTAMENTE NO SE POR QUE.
/*Figura 5.10: fig05_10.c
Craps*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h> //contiene el prototipo de la funcion time
/*Constantes de enumeracion que representan el estado del juego*/
enum Estatus { CONTINUA, GANA, PIERDE};
int tiraDados( void ); /*prototipo de la funcion*/
/*la funcion main comienza la ejecucion del programa*/
int main()
{
int suma; /*suma del tiro de datos*/
int miPunto;/*punto ganado*/
enum Estatus estatusJuego /*puede contener CONTINUA,GANA O PIERDE*/
/*randomiza el generador de numeros aleatorios mediante la funcion time*/
srand( time( NULL) );
suma = tiraDados(); /*primer tiro de los dados*/
/*determina el estado del juego basado en la suma de los dados*/
switch( suma ){
/*gana en el primer tiro*/
case 7:
case 11:
estatusJuego = GANA;
break;
/*pierde en el primer tiro */
case 2:
case 3:
case 12:
estatusJuego = PIERDE;
break;
/*RECUERDO EL PUNTO*/
default:
estatusJuego = CONTINUA;
miPunto = suma;
printf("Su punto es %d\n", miPunto);
break;//opcional el break en este case
}//fin de switch
/*mientras el Juego no se complete*/
while( estatusJuego == CONTINUA){
suma = tiraDados(); /*tira de nuevo los dados*/
/*determina el estatus del juego*/
if(suma == miPunto){/*gana por punto*/
estatusJuego = GANA; /*Fin del juego, el jugador gana*/
}/*fin de if*/
else{
if(suma == 7){/*pierde el tirar */
estatusJuego = PIERDE;
}/*Fin de if*/
}/*fin de else*/
}/*fin de while*/
/*despliega mensaje de triunfo o derrota*/
if( estatusJuego == GANA ){ /*¿Gano el jugador? */
printf("El jugador gana \n");
}/*fin de if*/
else{/*el jugador pierde*/
printf("El jugador pierde\n");
}//fin del else
return 0;//indica terminacion exitosa
}//fin de main
//tiro de dados, calcula la suma y despliega los resultado
int tiraDados( void )
{
int dado1;//primer dado
int dado2;//segundo dado
int sumaTemp;//suma de los dados
dado1 = 1 + (rand() % 6 );
dado2 = 1 + (rand() % 6 );
sumaTemp = dado 1 + dado2;
/*despliega los resultados de este tiro*/
printf("El jugador tiro %d + %d = %d\n",dado1, dado2, sumaTemp);
return sumaTemp; /*devuelve la suma alos dados*/
}/*fin de a funcion tiradados*/
ALGUIEN POR FAVOR AYUDEME :(
primero que nada, no escribas en mayusculas
por otro lado las funciones como stdlib no llevan .h, ninguna del standard C lo lleva
otra cosa... dices que te da error, pero no dices cual,
por cierto tienes errores de sintaxis en varios lugares
Si lo sé xD, sabes gracias por tu respuesta, primero que nada ya resolví el problema; el problema era que me faltaba un punto y coma en una parte.
Jajaj Disculpa por las molestias xD
Aquí te correí unas cuanas lineas creo que funciona como debería
#include<cstdio>
#include<cstdlib>
#include<ctime> //contiene el prototipo de la funcion time
/*Constantes de enumeracion que representan el estado del juego*/
enum Estatus { CONTINUA, GANA, PIERDE};
int tiraDados( void ); /*prototipo de la funcion*/
/*la funcion main comienza la ejecucion del programa*/
int main()
{
int suma; /*suma del tiro de datos*/
int miPunto;/*punto ganado*/
enum Estatus estatusJuego; /*puede contener CONTINUA,GANA O PIERDE*/
/*randomiza el generador de numeros aleatorios mediante la funcion time*/
srand( time( NULL) );
suma = tiraDados(); /*primer tiro de los dados*/
/*determina el estado del juego basado en la suma de los dados*/
switch( suma ){
/*gana en el primer tiro*/
case 7:
case 11:
estatusJuego = GANA;
break;
/*pierde en el primer tiro */
case 2:
case 3:
case 12:
estatusJuego = PIERDE;
break;
/*RECUERDO EL PUNTO*/
default:
estatusJuego = CONTINUA;
miPunto = suma;
printf("Su punto es %d\n", miPunto);
break;//opcional el break en este case
}//fin de switch
/*mientras el Juego no se complete*/
while( estatusJuego == CONTINUA){
suma = tiraDados(); /*tira de nuevo los dados*/
/*determina el estatus del juego*/
if(suma == miPunto){/*gana por punto*/
estatusJuego = GANA; /*Fin del juego, el jugador gana*/
}/*fin de if*/
else{
if(suma == 7){/*pierde el tirar */
estatusJuego = PIERDE;
}/*Fin de if*/
}/*fin de else*/
}/*fin de while*/
/*despliega mensaje de triunfo o derrota*/
if( estatusJuego == GANA ){ /*¿Gano el jugador? */
printf("El jugador gana \n");
}/*fin de if*/
else{/*el jugador pierde*/
printf("El jugador pierde\n");
}//fin del else
return 0;//indica terminacion exitosa
}//fin de main
//tiro de dados, calcula la suma y despliega los resultado
int tiraDados( void )
{
int dado1;//primer dado
int dado2;//segundo dado
int sumaTemp;//suma de los dados
dado1 = 1 + (rand() % 6 );
dado2 = 1 + (rand() % 6 );
sumaTemp = dado1 + dado2;
/*despliega los resultados de este tiro*/
printf("El jugador tiro %d + %d = %d\n",dado1, dado2, sumaTemp);
return sumaTemp; /*devuelve la suma alos dados*/
}/*fin de a funcion tiradados*/