Blog en Blogger Blog en BuscoAfiliados Bookmarks en Delicious Perfil el Facebook Perfil en Twitter Fotos en Flickr Página en MySpace Canal en YouTube Perfil en Google Perfil en Google
Búsqueda personalizada
EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C
 Recursos > Código fuente > Capítulo 13 > Ejercicio Propuesto 13.23
Desglose de moneda
 Solución 1
#include <stdio.h>

int main()
{
   int b500, b200, b100, b50, b20, b10, b5, euros, m2, m1;

   printf( "\n   Introduzca cantidad entera (euros): " );
   scanf( "%d", &euros );

   if ( euros > 0 )
   {
      /* Billetes de 500 */
      if ( euros >= 500 )
      {
         b500 = euros / 500;
         euros %= 500;
      }
      else
         b500 = 0;

      /* Billetes de 200 */
      if ( euros >= 200 )
      {
         b200 = euros / 200;
         euros %= 200;
      }
      else
         b200 = 0;

      /* Billetes de 100 */
      if ( euros >= 100 )
      {
         b100 = euros / 100;
         euros %= 100;
      }
      else
         b100 = 0;

      /* Billetes de 50 */
      if ( euros >= 50 )
      {
         b50 = euros / 50;
         euros %= 50;
      }
      else
         b50 = 0;

      /* Billetes de 20 */
      if ( euros >= 20 )
      {
         b20 = euros / 20;
         euros %= 20;
      }
      else
         b20 = 0;

      /* Billetes de 10 */
      if ( euros >= 10 )
      {
         b10 = euros / 10;
         euros %= 10;
      }
      else
         b10 = 0;

      /* Billetes de 5 */
      if ( euros >= 5 )
      {
         b5 = euros / 5;
         euros %= 5;
      }
      else
         b5 = 0;

      /* Monedas de 2 */
      if ( euros >= 2 )
      {
         m2 = euros / 2;
         euros %= 2;
      }
      else
         m2 = 0;

      /* Monedas de 1 */
         m1 = euros;

      printf( "   %d billete(s) de 500", b500 );
      printf( "\n   %d billete(s) de 200", b200 );
      printf( "\n   %d billete(s) de 100", b100 );
      printf( "\n   %d billete(s) de 50", b50 );
      printf( "\n   %d billete(s) de 20", b20 );
      printf( "\n   %d billete(s) de 10", b10 );
      printf( "\n   %d billete(s) de 5", b5 );
      printf( "\n   %d moneda(s) de 2", m2 );
      printf( "\n   %d moneda(s) de 1", m1 );
   }
   else
      printf( "   ERROR: Cantidad incorrecta, debe ser mayor que cero." );

   return 0;
}
 Solución 2
#include <stdio.h>

int main()
{
   int b500, b200, b100, b50, b20, b10, b5, contador, descontar,
       euros, m2, m1,
resultado;

   printf( "\n   Introduzca cantidad entera (euros): " );
   scanf( "%d", &euros );

   if ( euros > 0 )
   {
      contador = 1;
      do
      {
         switch ( contador )
         {
           case 1: descontar = 500;
                   break;
           case 2: descontar = 200;
                   break;
           case 3: descontar = 100;
                   break;
           case 4: descontar = 50;
                   break;
           case 5: descontar = 20;
                   break;
           case 6: descontar = 10;
                   break;
           case 7: descontar = 5;
                   break;
           case 8: descontar = 2;
         }

         if ( euros >= descontar )
         {
            resultado = euros / descontar;
            euros %= descontar;
         }
         else
            resultado = 0;

         switch ( contador )
         {
           case 1: b500 = resultado;
                   break;
           case 2: b200 = resultado;
                   break;
           case 3: b100 = resultado;
                   break;
           case 4: b50 = resultado;
                   break;
           case 5: b20 = resultado;
                   break;
           case 6: b10 = resultado;
                   break;
           case 7: b5 = resultado;
                   break;
           case 8: m2 = resultado;
         }

         contador++;

      } while ( contador <= 8 );

      m1 = euros;

      printf( "   %d billete(s) de 500", b500 );
      printf( "\n   %d billete(s) de 200", b200 );
      printf( "\n   %d billete(s) de 100", b100 );
      printf( "\n   %d billete(s) de 50", b50 );
      printf( "\n   %d billete(s) de 20", b20 );
      printf( "\n   %d billete(s) de 10", b10 );
      printf( "\n   %d billete(s) de 5", b5 );
      printf( "\n   %d moneda(s) de 2", m2 );
      printf( "\n   %d moneda(s) de 1", m1 );
   }
   else
      printf( "   ERROR: Cantidad incorrecta, debe ser mayor que cero." );

   return 0;
}
 Ficheros con extensión (.c)
ejer_pro_13_23_1.c
ejer_pro_13_23_2.c
 A destacar
Cursos Ejercicios Libros Enlaces Recomendados
Curso Diseño de Algoritmos
Curso Informática Básica
Curso Ingeniería del Software
Curso Marketing en Internet
Curso Lenguaje C
Curso Turbo Pascal
Curso Representación Datos
Ejercicios de Algoritmos
Ejercicios de Lenguaje C
Ejercicios de Ordinogramas
Ejercicios de Pascal
Empezar de cero a programar en lenguaje C
Domine la programación en lenguaje C
Empezar de cero a programar en Pascal
Directorio de Empresas
Búsqueda personalizada
 Más Webs Interesantes
© 2006-2010 CarlosPes.com