Programa de apuestas de un dado

Iniciado por DickGumshoe, 7 Diciembre 2011, 18:51 PM

0 Miembros y 1 Visitante están viendo este tema.

DickGumshoe

¡Hola!

Mi programa es el siguiente: tienes 100 euros, y apuestas una cantidad (como mínimo, 10 euros). Después, el ordenador piensa un número del 1 al 6, si introduces el correcto, lo que has apostado se multiplica por 6 y lo sumas a lo que tenías.

Ayer me estaba saliendo bien, pero estuve haciendo algunos cambios, y ahora no me sale la primera parte.

Ahora introduzco un número mayor que 10 y menos de 100 euros al principio, y me da como válido algunos resultados, otros no.

El programa es:

//Juego de apuestas que no sé por qué no funciona bien

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main (void){
   
int bolsa, apuesta, dado, apminima, opcion, n;

  srand(time(NULL));
 
  bolsa=100;
  apminima=10;
 
   
  printf("\a\nTienes %d euros. La apuesta minima son %d euros", bolsa,apminima);
  printf ("\n\nEscriba su apuesta");
  scanf("%d",&apuesta);
 
  do{
 
  do{
  printf ("\nEscriba su apuesta");
  scanf("%d",&apuesta);
  }
  while ((apminima>apuesta) || (apuesta>bolsa));
 
  bolsa=bolsa-apuesta;
 
  do{
  printf("Escriba el numero por el que apuesta");
  scanf("%d",&n);                   
  }
  while((n>6) || (n<1));
 
  dado=1+ rand()%6;
 
  if (dado==n) bolsa=bolsa+6*apuesta;
 
  printf("Apostaste por el numero %d y ha salido %d. Su bolsa tiene ahora %d euros", n,dado,bolsa);
 
  if(bolsa>=apminima){
 
  do{
  printf("Escriba 1 si quiere seguir jugando o 0 si quiere abandonar la partida");
  scanf("%d",&opcion);                 
  }
  while ((opcion!=0)&&(opcion!=1));
 
  }

}
  while((opcion==1)&&(bolsa>=apminima));
 
  printf("\nHasta la proxima");
  printf("\n");


   system("pause");


}


Muchas gracias.