• Domingo 15 de Diciembre de 2024, 01:35

Autor Tema:  Re: alguien puede orientarme en esto  (Leído 1102 veces)

dadevil_g

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: alguien puede orientarme en esto
« en: Miércoles 29 de Octubre de 2003, 07:07 »
0
Pedi la colaboracion del amigo Blag pero tampoco pudo, y yo ya no se que hacer, le e intentado durante una semana sin resultados positivos, si alguien me puede decir que esta mal en esto se lo agradecería. :hitcomp:

#include <stdio.h>
#include <conio.h>

int main (void)
{
clrscr();

   int c,d1,d2,d3,d4,d5,d6,d7,aux;
   float d8,d9,d10;
   printf("         **************************************n");
   printf("         *  PROGRAMA QUE DIVIDE UNA CANTIDAD  *n");
   printf("         *    EN MONEDAS DE 50,20,10,5,2,1    *n");
   printf("         *           .50,.20,.10,.5           *n");
   printf("         *    por: daredevil_g@hotmail.com    *n");
   printf("         **************************************n");
   printf("n");
   printf(" Digita tu cantidad: ");
   scanf("%d",&c);
   d1=c/50; //Monedas de 50
   aux=c%50; //Residuo
   d2=aux/20; //Monedas de 20
   aux=aux%20; //Residuo
   d3=aux/10; //Monedas de 10
   aux=aux%10; //Residuo
   d4=aux/5;
   aux=aux%5;
   d5=aux/2;
   aux=aux%2;
   d6=aux/1;
   aux=aux%1;
   d7=aux/.50;
   aux=aux%0.50;
   d8=aux/.20;
   aux=aux%0.20;
   d9=aux/.10;
   aux=aux%0.10;
   d10=aux/0.5;
   printf("Tu resultado es: %d monedas de 50n",d1);
   printf("Tu resultado es: %d monedas de 20n",d2);
   printf("Tu resultado es: %d monedas de 10n",d3);
   printf("Tu resultado es: %d monedas de 5n",d4);
   printf("Tu resultado es: %d monedas de 2n",d5);
   printf("Tu resultado es: %d monedas de 1n",d6);
   printf("Tu resultado es: %d monedas de .50n",d7);
   printf("Tu resultado es: %f monedas de .20n",d8);
   printf("Tu resultado es: %f monedas de .10n",d9);
   printf("Tu resultado es: %f monedas de .5n",d10);
   getch();
}

:ayuda:
Salu2....  \"UN PROBLEMA A LA VEZ\"; empieza por lo sencillo, luego te verás haciendo lo imposible.

GTow

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: alguien puede orientarme en esto
« Respuesta #1 en: Jueves 30 de Octubre de 2003, 10:53 »
0
Hola, tu problema es que no tienes cuidado con los tipos, para empezar c es de tipo entero, y estas pidiendo que te introduzcan un numero decimal, debería ser float, y luego la operación % da problemas con tipos que no sean enteros, así que lo mejor es multiplicar el número que introducen por 100 si es que solo quieres 2 decimales, y luego operar con todo entero. Te adjunto el codigo que funciona, pero antes entiende lo que te digo eh?:
#include <stdio.h>
#include <conio.h>

int main (void)
{
//clrscr();

int c,d1,d2,d3,d4,d5,d6,d7,aux,aux2;
float cn,d8,d9,d10;
printf(" **************************************n");
printf(" * PROGRAMA QUE DIVIDE UNA CANTIDAD *n");
printf(" * EN MONEDAS DE 50,20,10,5,2,1 *n");
printf(" * .50,.20,.10,.5 *n");
printf(" * por: daredevil_g@hotmail.com *n");
printf(" **************************************n");
printf("n");
printf(" Digita tu cantidad: ");
scanf("%f",&cn);
c=cn*100;
d1=c/5000; //Monedas de 50
aux=c%5000; //Residuo
d2=aux/2000; //Monedas de 20
aux=aux%2000; //Residuo
d3=aux/1000; //Monedas de 10
aux=aux%1000; //Residuo
d4=aux/500;
aux=aux%500;
d5=aux/200;
aux=aux%200;
d6=aux/100;
aux=aux%100;
d7=aux/50;
aux=aux%50;
d8=aux/20;
aux=aux%20;
d9=aux/10;
aux=aux%10;
d10=aux/5;
printf("Tu resultado es: %d monedas de 50n",d1);
printf("Tu resultado es: %d monedas de 20n",d2);
printf("Tu resultado es: %d monedas de 10n",d3);
printf("Tu resultado es: %d monedas de 5n",d4);
printf("Tu resultado es: %d monedas de 2n",d5);
printf("Tu resultado es: %d monedas de 1n",d6);
printf("Tu resultado es: %d monedas de .50n",d7);
printf("Tu resultado es: %f monedas de .20n",d8);
printf("Tu resultado es: %f monedas de .10n",d9);
printf("Tu resultado es: %f monedas de .5n",d10);
getch();
}
:ball:

dadevil_g

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: alguien puede orientarme en esto
« Respuesta #2 en: Sábado 1 de Noviembre de 2003, 07:41 »
0
Muchas :gracias: por tu :ayuda: ahora si o pude hacer jalar bien :comp: porque no me salia nada nada bien, no cabe duda que el mundo de la programacion es muy grande y yo apenas comienzo, nos vemos luego y gracias nuevamente. :adios:
Salu2....  \"UN PROBLEMA A LA VEZ\"; empieza por lo sencillo, luego te verás haciendo lo imposible.

[-dEmIaN-]

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
alguien puede orientarme en esto
« Respuesta #3 en: Viernes 21 de Noviembre de 2003, 01:12 »
0
dadevil_g una recomendación. Nunca declares clrscr(); antes de las declaraciones de variables. De ahí tu error.