Dev - C++ - Ayuda con contador

   
Vista:

Ayuda con contador

Publicado por Marko (1 intervención) el 14/01/2008 19:45:14
Necesito que me ayuden, tengo el programa hecho, hace todo lo que le digo pero a la hora de dar el cambio como puedo hacer que me reste las monedas que doy en el cambio del contador de monedas actual??

Gracias por su ayuda

Aqui va la parte del programa en cuestion:

gestionarPago(int importe)
{

int numeroMonedas=0;
int cantidadIntroducida = 0;
int monedasIntroducida[6];

int seguir = 0;

int i;
for (i=0; i<6; i++)
{
monedasIntroducida[i] = 0;
}

do
{
printf("Introducir Monedas ");
printf("------------------ ");

if (seguir == 0)
{
printf("Introduzca monedas de 50 cent: ");
scanf("%d", &numeroMonedas);
monedasIntroducidas[0] += numeroMonedas;
monedasActual[0] += numeroMonedas;
cantidadIntroducida += numeroMonedas * 50;
if (cantidadIntroducida >= importe)
seguir = 1;
}

if (seguir == 0)
{
printf("Introduzca monedas de 20 cent: ");
scanf("%d", &numeroMonedas);
monedasIntroducidas[1] += numeroMonedas;
monedasActual[1] += numeroMonedas;
cantidadIntroducida += numeroMonedas * 20;
if (cantidadIntroducida >= importe)
seguir = 1;
}

if (seguir == 0)
{
printf("Introduzca monedas de 10 cent: ");
scanf("%d", &numeroMonedas);
monedasIntroducidas[2] += numeroMonedas;
monedasActual[2] += numeroMonedas;
cantidadIntroducida += numeroMonedas * 10;
if (cantidadIntroducida >= importe)
seguir = 1;
}

if (seguir == 0)
{
printf("Introduzca monedas de 5 cent: ");
scanf("%d", &numeroMonedas);
monedasIntroducidas[3] += numeroMonedas;
monedasActual[3] += numeroMonedas;
cantidadIntroducida += numeroMonedas * 5;
if (cantidadIntroducida >= importe)
seguir = 1;
}

if (seguir == 0)
{
printf("Introduzca monedas de 2 cent: ");
scanf("%d", &numeroMonedas);
monedasIntroducidas[4] += numeroMonedas;
monedasActual[4] += numeroMonedas;
cantidadIntroducida += numeroMonedas * 2;
if (cantidadIntroducida >= importe)
seguir = 1;
}

if (seguir == 0)
{
printf("Introduzca monedas de 1 cent: ");
scanf("%d", &numeroMonedas);
monedasIntroducidas[5] += numeroMonedas;
monedasActual[5] += numeroMonedas;
cantidadIntroducida += numeroMonedas * 1;
if (cantidadIntroducida >= importe)
seguir = 1;
}

if (cantidadIntroducida < importe)
printf("Le faltan %d centimos. Siga introduciendo monedas ", importe - cantidadIntroducida);

}while (cantidadIntroducida < importe);

printf("Cantidad entregada por el cliente: %d centimos ",cantidadIntroducida);
printf("Su cambio es: %d centimos ", cantidadIntroducida - importe);

printf(" Monedas de 50:%d",(cantidadIntroducida - importe)/50);
printf(" Monedas de 20:%d",(cantidadIntroducida - importe)%50/20);
printf(" Monedas de 10:%d",(cantidadIntroducida - importe)%50%20/10);
printf(" Monedas de 5:%d",(cantidadIntroducida - importe)%50%20%10/5);
printf(" Monedas de 2:%d",(cantidadIntroducida - importe)%50%20%10%5/2);
printf(" Monedas de 1:%d ",(cantidadIntroducida - importe)%50%20%10%5%2/1);


if (((cantidadIntroducida - importe)/50) > monedasActual[0])
printf(" No hay cambio suficiente para la cantidad introducida");

//Aqui faltaria hacer la parte de darle el cambio al usuario del parking
//Si se le pueden dar las vueltas pues bien, vas poniendo las vueltas
//En caso de que no se pueda con las monedas disponibles, entonces
//tienes que borrar del array monedasActual las que hemos ido agregando
//cuando el usuario iba pagando

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder