EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C
C/C++/C# HTML Java JavaScript Linux PHP Python Swift
 Recursos > Código fuente > Capítulo 13 > Ejercicio Propuesto 13.20
Lanzar un dado hasta sumar 21 ó más
 Solución
#include <stdio.h>

int main()
{
   int anterior, contador, puntuacion, suma;

   contador = 0;
   anterior = 0;
   suma = 0;

   do
   {
      printf( "\n   Introduzca puntuacion (1-6): " );
      scanf( "%d", &puntuacion );

      /* Filtramos la puntuación */
      while ( puntuacion < 1 || puntuacion > 6 )
      {
         printf( "   ERROR: Puntuacion incorrecta." );
         printf( "\n   Introduzca puntuacion (1-6): " );
         scanf( "%d", &puntuacion );
      }

      /* Actualizamos la suma */
      if ( puntuacion == 6 && anterior == 6 )
      {
         suma += 7;
         anterior = 7;
      }
      else
         if ( puntuacion == 6 && anterior == 7 )
         {
            suma = 0;
            anterior = 0;
         }
         else
         {
            suma += puntuacion;
            anterior = puntuacion;
         }

      printf( "   Suma = %d\n", suma );
      contador++;

   } while ( suma < 21 );

   printf( "\n   Enhorabuena! Ha utilizado %d lanzamientos para sumar 21 o mas.", contador );

   return 0;
}
 Fichero con extensión (.c)