Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DickGumshoe en 7 Diciembre 2011, 18:51 pm



Título: Programa de apuestas de un dado
Publicado por: DickGumshoe en 7 Diciembre 2011, 18:51 pm
¡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:

Código
  1. //Juego de apuestas que no sé por qué no funciona bien
  2.  
  3. #include<stdio.h>
  4. #include<stdlib.h>
  5. #include<time.h>
  6.  
  7. int main (void){
  8.  
  9. int bolsa, apuesta, dado, apminima, opcion, n;
  10.  
  11.  srand(time(NULL));
  12.  
  13.  bolsa=100;
  14.  apminima=10;
  15.  
  16.  
  17.  printf("\a\nTienes %d euros. La apuesta minima son %d euros", bolsa,apminima);
  18.  printf ("\n\nEscriba su apuesta");
  19.  scanf("%d",&apuesta);
  20.  
  21.  do{
  22.  
  23.  do{
  24.  printf ("\nEscriba su apuesta");
  25.  scanf("%d",&apuesta);
  26.  }
  27.  while ((apminima>apuesta) || (apuesta>bolsa));
  28.  
  29.  bolsa=bolsa-apuesta;
  30.  
  31.  do{
  32.  printf("Escriba el numero por el que apuesta");
  33.  scanf("%d",&n);                  
  34.  }
  35.  while((n>6) || (n<1));
  36.  
  37.  dado=1+ rand()%6;
  38.  
  39.  if (dado==n) bolsa=bolsa+6*apuesta;
  40.  
  41.  printf("Apostaste por el numero %d y ha salido %d. Su bolsa tiene ahora %d euros", n,dado,bolsa);
  42.  
  43.  if(bolsa>=apminima){
  44.  
  45.  do{
  46.  printf("Escriba 1 si quiere seguir jugando o 0 si quiere abandonar la partida");
  47.  scanf("%d",&opcion);                
  48.  }
  49.  while ((opcion!=0)&&(opcion!=1));
  50.  
  51.  }
  52.  
  53. }
  54.  while((opcion==1)&&(bolsa>=apminima));
  55.  
  56.  printf("\nHasta la proxima");
  57.  printf("\n");
  58.  
  59.  
  60.   system("pause");
  61.  
  62.  
  63. }
  64.  

Muchas gracias.