Título: Ayuda en C++ Publicado por: RafaAlvarez15 en 3 Julio 2018, 13:26 pm Mi idea es realizar un programa que nos pida una cantidad de una compra, ingresemos la cantidad para pagar y nos devuelva el cambio en billetes y monedas, Yo he intentado hacer esto pero no me compila, sabriais encontrar el error que estoy cometiendo. MUCHAS GRACIAS :rolleyes: :rolleyes:
#include <iostream> #include<stdlib.h> #include<stdio.h> using namespace std; double b_500; double b_200; double b_100; double b_50; double b_20; double b_10; double b_5; double m_2; double m_1; double m_05; double m_02; double m_01; double m_005; double m_002; double m_001; double cambio( double cantidad_devolver){ b_500=cantidad_devolver/500; cantidad_devolver = cantidad_devolver% 500; b_200=cantidad_devolver/200; cantidad_devolver = cantidad_devolver% 200; b_100=cantidad_devolver/100; cantidad_devolver = cantidad_devolver% 100; b_50=cantidad_devolver/50; cantidad_devolver = cantidad_devolver% 50; b_20=cantidad_devolver/20; cantidad_devolver = cantidad_devolver% 20; b_10=cantidad_devolver/10; cantidad_devolver = cantidad_devolver% 10; b_5=cantidad_devolver/5; cantidad_devolver = cantidad_devolver% 5; m_2=cantidad_devolver/2; cantidad_devolver = cantidad_devolver% 2; m_1=cantidad_devolver/1; cantidad_devolver = cantidad_devolver% 1; m_05=cantidad_devolver/0.5; cantidad_devolver = cantidad_devolver% 0.5; m_02=cantidad_devolver/0.2; cantidad_devolver = cantidad_devolver% 0.2; m_01=cantidad_devolver/0.1; cantidad_devolver = cantidad_devolver% 0.1; m_005=cantidad_devolver/0.05; cantidad_devolver = cantidad_devolver% 0.05; m_002=cantidad_devolver/0.02; cantidad_devolver = cantidad_devolver% 0.02; m_001=cantidad_devolver/0.01; cantidad_devolver = cantidad_devolver% 0.01; } int main() { double precio_compra; cout<<"Introduzca el precio de su compra: "; cin>>precio_compra; if(precio_compra<=0){ cout<<"Error, introduzca bien el precio de la compra"<<endl; cout<<"Introduzca el precio de su compra: "; cin>>precio_compra;}; double dinero_entregado; cout<<"Introduzca la cantidad entregada: "; cin>>dinero_entregado; if(precio_compra>dinero_entregado) { cout<<"Error, introduzca bien el precio de la compra"<<endl; cout<<"Introduzca la cantidad entregada: "; cin>>dinero_entregado;}; double cantidad_devolver; cantidad_devolver = (dinero_entregado - precio_compra); cout<<"Su vuelta es de: "<<cantidad_devolver<<endl; cambio(cantidad_devolver); cout<<"Su cambio es de: "<<endl; cout<<"Billete de 500€: "<<b_500<<endl; cout<<"Billete de 200€: "<<b_200<<endl; cout<<"Billete de 100€: "<<b_100<<endl; cout<<"Billete de 50€: "<<b_50<<endl; cout<<"Billete de 20€: "<<b_20<<endl; cout<<"Billete de 10€: "<<b_10<<endl; cout<<"Billete de 5€: "<<b_5<<endl; cout<<"Moneda de 2€: "<<m_2<<endl; cout<<"Moneda de 1€: "<<m_1<<endl; cout<<"Moneda de 0.5€: "<<m_05<<endl; cout<<"Moneda de 0.2€: "<<m_02<<endl; cout<<"Moneda de 0.1€: "<<m_01<<endl; cout<<"Moneda de 0.05€: "<<m_005<<endl; cout<<"Moneda de 0.02€: "<<m_002<<endl; cout<<"Moneda de 0.01€: "<<m_001<<endl; return 0; } Título: Re: Ayuda en C++ Publicado por: srWhiteSkull en 3 Julio 2018, 13:52 pm El compilador te debe poner un mensaje que haga referencia al error y línea.
Título: Re: Ayuda en C++ Publicado por: RafaAlvarez15 en 4 Julio 2018, 16:12 pm C:\Users\Usuario\Desktop\Maquina registradora\main.cpp|30|error: invalid operands of types 'double' and 'int' to binary 'operator%'|
Eso es lo que me aparece en el compilador Título: Re: Ayuda en C++ Publicado por: srWhiteSkull en 4 Julio 2018, 16:32 pm Pues obvio, que un operador double no puede ser usado en una operación modular (%). O usas un entero o realiza un casting (int) al double.
|