¿Ayuda con este codigo C++?
Hola amigos, tengo que hacer un codigo que dado el valor de un producto, calcule el cambio (devuelto) dependiendo el billete o moneda que entregue.
tengo este codigo, pero no se si sea cuestion de librerias o de algun error en los array ya que no compila o se queda mostrando un valor basura sin fin.
les agradezco si me pueden ayudar a corregirlo, o tienen un programa que cumpla con este proposito.
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using namespace std;
int main(string[])
{
int bri;
bri [15]={ 50000, 20000, 10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10};// Identificando el arreglo
int guardar;
guardar [10];// Estbleciendo el limite del nuevo arreglo
double total, pago, devuelta;//Declarandolas como reales porque puede tolerar valores decimales
int r;
cout<<"\n Programa para calcular la devuelta ideal de una compra:";
cout<<"\nIntroduzca el Total de su compra: $ ";
cin>>total;
cout<<" \nMe Pagara con un billete de :$";
cin>>pago;
devuelta = pago - total;//Operacion
r = 0;
while (devuelta != 0 && r != 10)// Ahora el bucle de la devuelta (Como fue expuesto en clase)
{
while (devuelta >= bri)
{
guardar[r]++;// El contador de la cantidad de billetes
devuelta -= bri;
}
r++;
}
for (r = 0; r < bri; r++)// El contador de los tipos de billetes
{
if (guardar[r] != 0)//Condicionante para saber que no se quedara debiendo!!
cout<<guardar<< " billetes de " << " " << bri;
}
}
muchas gracias
2 respuestas
- aemLv 7hace 10 añosRespuesta preferida
//#include <cstdlib.h> para Dev C y usar system("CLS") en vez de clrscr() y system("PAUSE")
#include <stdio.h> //en lugar de getch() o getche()
#include <iostream.h>
#include <conio.h>
int main()
{
clrscr();
//system("CLS");
int cantidad, mone;
float conmoneda, pagacon,precio;
printf("Precio del Articulo: ");
scanf("%f",&precio);
printf("Paga con: ");
scanf("%f",&pagacon);
conmoneda=pagacon-precio;
printf("VUELTO A ENTREGAR %4.2f",conmoneda);
cantidad=conmoneda;
mone=100*(conmoneda-cantidad);
//empieza calculo
printf("\nLa cantidad de billetes de %5d es %5d",1000,cantidad/1000);
//actualizo valor de cantidad
cantidad=cantidad%1000;
printf("\nLa cantidad de billetes de %5d es %5d",500,cantidad/500);
//actualizo valor de cantidad
cantidad=cantidad%500;
printf("\nLa cantidad de billetes de %5d es %5d",200,cantidad/200);
//actualizo valor de cantidad
cantidad=cantidad%200;
//actualizo valor de cantidad
cantidad=cantidad%1000;
printf("\nLa cantidad de billetes de %5d es %5d",100,cantidad/100);
//actualizo valor de cantidad
cantidad=cantidad%100;
printf("\nLa cantidad de billetes de %5d es %5d",50,cantidad/50);
//actualizo valor de cantidad
cantidad=cantidad%50;
//actualizo valor de cantidad
cantidad=cantidad%1000;
printf("\nLa cantidad de billetes de %5d es %5d",20,cantidad/20);
//actualizo valor de cantidad
cantidad=cantidad%20;
printf("\nLa cantidad de billetes de %5d es %5d",10,cantidad/10);
//actualizo valor de cantidad
cantidad=cantidad%10;
//actualizo valor de cantidad
printf("\nLa cantidad de billetes de %5d es %5d",5,cantidad/5);
//actualizo valor de cantidad
cantidad=cantidad%5;
printf("\nLa cantidad de billetes de %5d es %5d",2,cantidad/2);
//actualizo valor de cantidad
cantidad=cantidad%2;
printf("\n\nMONEDAS =============================");
printf("\nLa cantidad de monedas de %5d es %5d",1,cantidad/1);
//traigo los decimales
cantidad=mone;
printf("\nLa cantidad de monedas de %5d es %5d",50,cantidad/50);
//actualizo valor de cantidad
cantidad=cantidad%50;
printf("\nLa cantidad de monedas de %5d es %5d",25,cantidad/25);
//actualizo valor de cantidad
cantidad=cantidad%25;
printf("\nLa cantidad de monedas de %5d es %5d",10,cantidad/10);
//actualizo valor de cantidad
cantidad=cantidad%10;
printf("\nLa cantidad de monedas de %5d es %5d",5,cantidad/5);
//actualizo valor de cantidad
cantidad=cantidad%5;
printf("\nSALDO EN CENTAVOS %5d",cantidad);
getche();
//system("pause");
return 0;
}
Fuente(s): Dios te bendiga Saludos Antonio - gottleberLv 4hace 4 años
{ int i, num, x, y, z, m; Console.WriteLine("Introduce un numero:"); num=Convert.ToInt32(Console.ReadLine()... for (i=a million; i<=20; i++) { if num>0 then { x=x+a million; if num<a million; and num>one hundred then { y=y+a million; if num <one hundred and num>1000 then { z=z+a million; if num < 1000 then m+a million; } } } } Console.WriteLine("Numeros totales menores a nil:", x); Console.WriteLine("Numeros totales entre a million y one hundred:", y); Console.WriteLine("Numeros totales entre one hundred and one y 1000:", z); Console.WriteLine("Numeros totales mayores a 1000:", m); } Console.ReadKey();