FUNCION SECUNDARIA (3)

 avatar
user_3711028
c_cpp
13 days ago
2.1 kB
3
Indexable
//Funciones secundarias (Billetes)
#include <iostream>
#include <iomanip>
using namespace std;
void cambio (int, int&, int&, int&, int&, int&, int&);
int main() {
    
    /*Considero que no es necesario explicar los nombres de las variables ...B es de billete, por ejemplo B_100 significa: Billetes de 100*/
    int Dolares, B_100=0, B_50=0, B_20=0, B_10=0, B_5=0, B_1=0;
    
    do{//Para verificar la entrada y eso.
        cout<<endl<<endl<<"Indique la cantidad en Dolares: ";
        cin>>Dolares;
        if(Dolares<0){
            cout<<endl<<"Asegurese de introducir un positivo";

        }
    } while(Dolares<0);
    
    //Aqui se muestra la salida bien bonita en una tabla :)
	cambio (Dolares, B_100, B_50, B_20, B_10, B_5, B_1);
    cout<<endl<<endl<<"_____| Billetes |"<<endl
    <<" 100 |"<<setw(9)<<B_100<<" |"<<endl
    <<"  50 |"<<setw(9)<<B_50<<" |"<<endl
    <<"  20 |"<<setw(9)<<B_20<<" |"<<endl
    <<"  10 |"<<setw(9)<<B_10<<" |"<<endl
    <<"  5  |"<<setw(9)<<B_5<<" |"<<endl
    <<"  1  |"<<setw(9)<<B_1<<" |"<<endl
    <<"------------------"<<endl
    <<"TOTAL|"<<setw(9)<<Dolares<<" |";
    return 0;


}
void cambio (int Dol, int& cien, int& cincuenta, int& veinte, int& diez, int& cinco, int& uno){
    
    /*aqui use un ciclo while y un if-else anidado para dividir los billetes usando la division y modulo y una variable llamada Dol para almacenar el dinero restante, El ciclo se repite hasta que todo el dinero haya sido distribuido, es decir, hasta que Dol sea 0... :D*/

    while(Dol!=0){
        if(Dol>=100){
            cien = Dol/100;
            Dol = Dol%100;
            
        } else if(Dol>=50){
            cincuenta = Dol/50;
            Dol = Dol%50;
            
        }else if(Dol>=20){
            veinte = Dol/20;
            Dol = Dol%20;
            
        } else if(Dol>=10){
            diez = Dol/10;
            Dol=Dol%10;
           
        } else if(Dol>=5){
            cinco = Dol/5;
            Dol = Dol%5;
            
        } else {
            uno = Dol/1;
            Dol = Dol%1;
        }
    }
    return;
}
Leave a Comment