Hace tiepo hice un programa que consistía en crear el juego de la ruleta. Ahora que he empezado a ver el tema de funciones, me gustaría hacerlo de esta forma.
Mientras antes tenía esto en la función main:
Código
if(opcion==1){
do{
printf("\nIntroduce un 0 si apuestas por par o un 1 si es por impar");
scanf("%d",&x);
}
while((x!=0)&&(x!=1));
if((x==0)&&(dado%2==0)){
bolsa=bolsa+2*apuesta;
printf("\nHas acertado, es par. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
else{
if((x==1)&&(dado%2!=0)){
bolsa=bolsa+2*apuesta;
printf("\nHas acertado, es impar. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
else{
if((x==0)&&(dado%2!=0)){
printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
else{
if((x==1)&&(dado%2==0)){
printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
}
}
}
}
Ahora pongo lo siguiente en una función:
Código
int opcion_1 (int x){
int dado,apuesta,bolsa;
srand(time(NULL));
dado= rand()%36;
do{
printf("\nIntroduce un 0 si apuestas por par o un 1 si es por impar");
scanf("%d",&x);
}
while((x!=0)&&(x!=1));
if((x==0)&&(dado%2==0)){
bolsa=bolsa+2*apuesta;
printf("\nHas acertado, es par. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
else{
if((x==1)&&(dado%2!=0)){
bolsa=bolsa+2*apuesta;
printf("\nHas acertado, es impar. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
else{
if((x==0)&&(dado%2!=0)){
printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
else{
if((x==1)&&(dado%2==0)){
printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);
}
}
}
}
}
return(0);
}
Y, después, voy a la función main, y pongo:
Código
int main (void){
int opcion_juego,apuesta,bolsa,x,dado;
srand(time(NULL));
dado= rand()%36;
mostrar_ruleta();
apostar_fichas(apuesta);
opcion(opcion_juego);
bolsa=bolsa-apuesta;
opcion_1(x); //Esto es lo referente a la funcion
Por favor, ¿alguien podría explicarme cuál es mi problema?
Muchas gracias.
Saludos.
EDITO: Acabo de conseguir que la función funcione dentro de main. Pero creo que las variables se lían unas con otras, porque me dice que la bolsa es "9857437" y que el número que ha salido es "487434"...
Gracias.










Autor



En línea
