Devolver cambio en C++

¿Han pagado algún recibo en una máquina automática y se han preguntado cómo será el programa que les devuelve el cambio? Lo más seguro es que no, pero pues resulta que el profesor de Miguel Ángel le encargó un programa que simulara eso, en sus propias palabras:

Supón que una maquina de monedas de 10,5,2,1 y 50 centavos. Debes escribir un programa que decida cuantas monedas dará de cambio, dando prioridad las de mayor denominación. Debe recibir como entrada la cantidad de dar a cambio. Ejemplo: para $40.50 será 4 de 10, 0 de 5, 0 de 2, 0 de 1 y 1 de 50 centavos.
Cambio
Así que el primer problema se presenta con la entrada ¿cómo hacer que el usuario introduzca sólo cantidades como $50 o $43.50 y no cantidades como $23.45 o $9.70?

Lo que se me ocurrió es pedir la cantidad en una variable float (cambio), en otra variable convertir esa cantidad a tipo int (cambioint). En ese proceso se perderá la parte decimal del número, así que si la resta cambio – cambioint es igual a 0 o igual a 0.50, la cantidad que introdujo el usuario es correcta.

La otra parte es sencilla, sólo se necesita ver si la variable cambio es mayor que 10. Si si,  se le restan 10 a la variable y se aumenta un contador. Luego se hace lo mismo con las demás monedas.

Pero bueno, el programa es este:

#include
using namespace std;

int main()
{
    float cambio; int cambioint, m10=0, m5=0, m2=0, m1=0, m50c=0;
    do
    {
        cout <> cambio;
        cambioint = (int)cambio;
    }while((cambio - cambioint) != 0 && (cambio - cambioint) != 0.50);
    while(cambio != 0)
    {
        if(cambio>=10)
        {
            m10++;
            cambio-=10;
        }
        else if(cambio>=5)
        {
            m5++;
            cambio-=5;
        }
        else if(cambio>=2)
        {
            m2++;
            cambio-=2;
        }
        else if(cambio>=1)
        {
            m1++;
            cambio-=1;
        }
        else if(cambio>=0.5)
        {
            m50c++;
            cambio-=0.5;
        }
    }
    cout << m10 << ", " << m5 << ", " << m2 << ", " << m1 << ", " << m50c;
}

Solo le faltaría darle un poco de formato a la salida, pero pues ya es cuestión de gustos y ya saben, cualquier duda aquí están los comentarios abajo.

27 thoughts on “Devolver cambio en C++

  1. Hola compañero!!
    Necesito que me ayudes con un pequeño proyecto que no puedo hacer!!
    Yo lo he montado pero no me corre, vale mucho en mi nota y he buscado en muchos lugares y nadie me ha podido ayudar, el unico detalle es que lo tengo que entregar mañana antes de las 5:00 p.m.!!
    Me piden lo siguiente:
    -Se desea conocer si la lista digitada por un usuario ya sean valores numéricos o caracteres es palíndromo o no. El programa debera contener un menu de opciones con las siguientes opciones:
    *Insertar elementos.
    *Eliminar elementos.
    *Imprimir lista.
    *Verificar si es palindromo o no.
    *Salir

    Hermano si pudieras ayudarme seria genial!!

    Gracias.

  2. saludos me posrias aclarar porque en las instrucciones no dejas espacio entre cambio e int, es decir cambioint, sera mas adecuado cambio int.
    este programa sera similar al que tienen las maquinas automaticas de cobro de parqueadero, en el cual uno introduce el ticket, el da el valor a pagar , uno introduce el dinero(en billete) y el da los vueltos
    como reconoce cuanto se le ha pagado , ahi entraria a operar el programa que tienes?, me parece excelente tu aporte
    gracias

  3. Un cliente ordena cierta cantidad de brochas de cerda, rodillos y sellador; las brochas de cerda tienen un 20% de descuento y los rodillos un
    15% de descuento. Los datos que se tienen por cada tipo de artículo son: la cantidad pedida y el precio unitario. Además, si se paga de contado todo
    tiene un descuento del 7%. Elaborar un programa en C++ que calcule y muestre en pantalla el costo total de la orden, tanto para el pago de contado como para el caso de pago de crédito.

    … HOLA,, SI PUEDE, LE PIDO EL GRAN FAVOR DE AYUDARME CON ESTE TRABAJO .. SE LO AGRADECERIA MUCHO..

  4. SALUDOS!!

    Me podrían ayudar a hacer un programa que en REALIDAD es un mega reto en c++ que haga lo siguiente:

    ordenar …figuras geométricas de acuerdo a su número de lados, dado el nombre de la …figura.
    La entrada es proporcionada por el usuario del programa, quien introduce
    tantos nombres de figuras como desee, terminando la captura al introducir la
    palabra “end” al programa. Una vez que se termina la captura (se introdujo
    la palabra “end”), el programa despliega en orden las figuras introducidas, considerando el número de lados como criterio de ordenación. Los nombres de las primeras 12 figuras se muestran en la siguiente tabla, en el proyecto se deben de incluir hasta figuras de 20 lados.

    Nombre Lados
    Triángulo 3
    Cuadrilátero 4
    Pentágono 5
    Hexágono 6
    Heptágono 7
    Octógono 8
    Eneágono 9
    Decágono 10
    Undecágono 11
    Dodecágono 12
    Etc… …

    Un ejemplo de ejecución del programa es el siguiente:
    Introduzca nombre de figura: Octagono
    Introduzca nombre de figura: Triangulo
    Introduzca nombre de figura: Decagono
    Introduzca nombre de figura: Cuadrilatero
    Introduzca nombre de figura: Triangulo
    Introduzca nombre de figura: end
    Como se ha introducido la palabra que indica finn de captura, es decir, end,
    entonces el programa debe de imprimir
    Triangulo
    Triangulo
    Cuadrilatero
    Octagono
    Decagono
    y después debe de terminar.

    Algoritmo para ordenar: Bubble sort.

    Espero me puedan ayudar!! Un reto un poco dificil pero bueno!!
    SALUDOS!!

    1. hola …. me dejaron un programa que realice cambio de n dinero en billetes de 200,100,50,20,10 y en monedas de 5,2,1. quiero que apoyan en este problema pue por tengo hace poco tiempo programando .gracias…

  5. Hola esta muy buena tu página, yo también estoy “auto” aprendiendo programación y estoy con la POO en c++ este problema parece interesante hice una version usando clases la pongo aqui espero no te moleste por si a alguien le sirve :
    // change.h
    // header file for the change machine class.

    #ifndef CHANGE_H
    # define CHANGE_H
    # ifdef WIN32
    # define CLEARSCREEN system (“cls”) ;
    # else
    # define CLEARSCREEN system(“clear”) ;
    # endif //CLEARSCREEN

    enum VALIDATE {INVALID, VALID } ;

    class Change {
    private:
    float change ;
    float changeTest ;
    int coin10 ;
    int coin05 ;
    int coin02 ;
    int coin01 ;
    int coin50c ;
    void setCoin10 ( bool test ) ;
    void setCoin05 ( bool test ) ;
    void setCoin02 ( bool test ) ;
    void setCoin01 ( bool test ) ;
    void setCoin50c ( bool test ) ;
    void setCoinDistribution ( bool test = false ) ;
    public:
    Change ( ) ;
    ~Change ( ) { }
    void setChange ( float chng ) ;
    float getChange ( ) const { return change ; }
    int getCoin10 ( ) const { return coin10 ; } // individual getValue for coin
    int getCoin05 ( ) const { return coin05 ; } // distribution .
    int getCoin02 ( ) const { return coin02 ; }
    int getCoin01 ( ) const { return coin01 ; }
    int getCoin50c ( ) const { return coin50c ; }
    void printCoinDistribution ( ) const ;
    VALIDATE checkChange () ;

    } ;
    #endif //CHANGE_H
    // changeLib.cpp
    // Library for the change machine class.
    #include “../include/change.h”
    #include
    #include
    #include

    Change::Change () {
    change = 0 ;
    changeTest = 0 ;
    coin01 = 0 ;
    coin02 = 0 ;
    coin05 = 0 ;
    coin10 = 0 ;
    coin50c = 0 ;
    }
    void Change::setChange ( float chng ){
    change = chng ;
    changeTest = change ;
    }
    //************************ Set the coin distribution **************** //
    void Change::setCoin10 ( bool test ) {
    if (test )
    while (changeTest >= 10 )
    changeTest -= 10 ;
    else
    while ( change >= 10 ) {
    coin10++ ;
    change -= 10 ;
    }
    }

    void Change::setCoin05 ( bool test ) {
    if (test )
    while (changeTest >= 05 )
    changeTest -= 05 ;
    else
    while ( change >= 05 ) {
    coin05++ ;
    change -= 05 ;
    }
    }

    void Change::setCoin02 ( bool test ) {
    if (test )
    while (changeTest >= 02 )
    changeTest -= 02 ;
    else
    while ( change >= 02 ) {
    coin02++ ;
    change -= 02 ;
    }
    }
    void Change::setCoin01 ( bool test ) {
    if (test )
    while (changeTest >= 01 )
    changeTest -= 01 ;
    else
    while ( change >= 01 ) {
    coin01++ ;
    change -= 01 ;
    }
    }

    void Change::setCoin50c ( bool test ) {
    if (test )
    while (changeTest >= 0.5 )
    changeTest -= 0.5 ;
    else
    while ( change >= 0.5 ) {
    coin50c++ ;
    change -= 0.5 ;
    }
    }

    void Change::printCoinDistribution ( ) const { // Print the full distribution of coins.
    std::cout << "Your change is $ " << getChange ( ) << std::endl
    << getCoin10 ( ) << " coins of 10$" << std::endl
    << getCoin05 ( ) << " coins of 05$" << std::endl
    << getCoin02 ( ) << " coins of 02$" << std::endl
    << getCoin01 ( ) << " coins of 01$" << std::endl
    << getCoin50c ( ) << " coins of 50¢" << std::endl ;
    }
    //******* Global coin distribution ******//
    void Change::setCoinDistribution ( bool test ) { //Chose the order that the coins will be assigned
    setCoin10 ( test ) ;
    setCoin05 ( test ) ;
    setCoin02 ( test ) ;
    setCoin01 ( test ) ;
    setCoin50c ( test ) ;
    }

    VALIDATE Change::checkChange ( ) { // Check that the change is a valid quantity for available coins
    int changeInt = (int) change ;
    //debug: std::cout << changeInt << ":" << change << ":" << change-changeInt << std::endl ;
    if ( ( change – changeInt ) == 0 || ( change – changeInt ) == 0.5 ) {
    CLEARSCREEN ;
    setCoinDistribution ( false ) ;
    return VALID ;
    }
    setCoinDistribution ( true ) ;
    CLEARSCREEN ;
    std::cout << "Sorry we don't have coins of $ " << std::setw(1.2) << changeTest << " ¢." << std::endl ;
    return INVALID ;
    }
    // Programa que te devuelve el cambio dando
    // prioridad a las monedas de mayor valor a
    // las de menor valor hasta completarlo.
    #include "include/change.h"
    #include

    int main ( ) {
    using namespace std ;
    Change *purchase = new Change ;
    float quantity ;
    do {
    cout <> quantity ;
    purchase->setChange ( quantity ) ;
    } while ( purchase->checkChange ( ) != VALID ) ;
    //debug: cout <checkChange ( ) <printCoinDistribution ( ) ;
    cout << endl ;
    delete purchase ;
    return 0 ;
    }

    Saludos!

  6. hola oye me podrias ayudar con un programa lo que necesito acer es una simulacion de una caja registradora esto es lo que llebo pero no puedo aser que sume los productos atquiridos

    programa q genera calculo de productos adquiridos
    FACTURA DEL TOTAL A PAGAR EN BASE A COMPRAS REALIZADAS (CON IF TOTALMENTE)
    /*De la galería de productos, el usuario introducirá el código y el número de unidades
    del producto que desea comprar. El programa determinará el total a pagar, como una
    factura.*/
    #include
    #include
    #include

    Colores para fondos
    #define BG_WHITE (240)
    #define FG_BLACK (0)
    void clrscr()/*Creando funcion para limpiar pantalla.*/
    {
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD coord = {0, 0};
    DWORD count;
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    GetConsoleScreenBufferInfo(hStdOut, &csbi);
    FillConsoleOutputCharacter(hStdOut, ‘ ‘, csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
    SetConsoleCursorPosition(hStdOut, coord);
    }
    void main()
    {
    HANDLE hStdInput = INVALID_HANDLE_VALUE,
    hStdOutput = INVALID_HANDLE_VALUE;
    hStdInput = GetStdHandle(STD_INPUT_HANDLE);
    hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdOutput,BG_WHITE | FG_BLACK);
    int salir,saliryesno;
    salir=0;
    while(salir==0){
    clrscr();/*Llamando la funcion para limpiar pantalla.*/
    printf(“nFACTURA DEL TOTAL A PAGAR EN BASE A COMPRAS REALIZADASn”);
    printf(“t ==================================================================n”);
    printf(“t B I E N V E N I D Onn”);
    int opt,uni,total,pren,art;
    printf(“ttELIJA EL PRODUCTO DESEADO:nn”);
    printf(“ttPRODUCTOtttCODIGOnn”);
    printf(“ttCAMISA *************************** 01n”);
    printf(“ttFAJAS **************************** 02n”);
    printf(“ttZAPATOS ************************** 03n”);
    printf(“ttPANTALON ************************* 04n”);
    printf(“ttCALCETINES *********************** 05n”);
    printf(“ttFALDAS DE VESTIR ***************** 06n”);
    printf(“ttGUANTES ************************** 07n”);
    printf(“ttSUETER *************************** 08n”);
    printf(“ttCORBATA ************************** 09n”);
    printf(“ttCHAQUETA ************************* 10n”);
    printf(“ttMEDIAS *************************** 11n”);
    printf(“ttBUFANDAS ************************* 12n”);
    printf(“ttLENCERIA ************************* 13n”);
    printf(“ttACEITE *************************** 14n”);
    printf(“ttARROZ **************************** 15n”);
    printf(“ttNESCAFE DE CAF ******************* 16n”);
    printf(“ttAGUA BONAFON ********************* 17n”);
    printf(“ttLECHE LITRO ********************** 18n”);
    printf(“ttCREMA NIVEA ********************** 19n”);
    printf(“ttCR PARA DVD ********************** 20n”);
    printf(“ttINTRODUZCA CODIGO: “);
    scanf(“%d”,&opt,”n”);
    while ((opt20))
    {
    printf(” CODIGO INCORRECTO. INTRODUZCA NUEVO CODIGO: “);
    scanf(“%d”,&opt,”r”);
    }
    printf(“n”);
    if (opt==1){
    printf(“ttEL PRECIO ES: $24.00n”);
    printf(“ttINTRODUZCA NUMERO DE UNIDADES: “);
    scanf(“%d”,&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=24*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==2){
    printf("ttEL PRECIO ES: $15.00n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=15*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==3){
    printf("ttEL PRECIO ES: $60.00 n");
    printf("INTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=60*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==4){
    printf("ttEL PRECIO ES: $30.00 n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=30*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==5){
    printf("ttEL PRECIO ES: $9.00 n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=9*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00 nn",total);
    }
    else if (opt==6){
    printf("ttEL PRECIO ES: $25.00 n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=25*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==7){
    printf("ttEL PRECIO ES: $12.00 n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=12*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==8){
    printf("ttEL PRECIO ES: $35.00 n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=35*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==9){
    printf("ttEL PRECIO ES: $22.00 n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=22*uni;
    printf("nttEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if(opt==10){
    printf("ttEL PRECIO ES: $90.00 n");
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    while(uni<0){
    printf("ttINTRODUZCA NUMERO DE UNIDADES: ");
    scanf("%d",&uni);
    }
    total=90*uni;
    printf("nEL TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==11){
    printf("ttEL PRECIO ES: $14.00 n");
    printf("INTRODUZCA NUMERO DE PRENDAS: ");
    scanf("%d",&pren);
    while(pren<0){
    printf("INTRODUZCA NUMERO DE PRENDAS: ");
    scanf("%d",&pren);
    }
    total=14.50*pren;
    printf("nEL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==12){
    printf("ttEL PRECIO ES: $28.00 n");
    printf("INTRODUZCA NUMERO DE PRENDAS: ");
    scanf("%d",&pren);
    while(pren<0){
    printf("INTRODUZCA NUMERO DE PRENDAS: ");
    scanf("%d",&pren);
    }
    total=28.30*pren;
    printf("nEL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==13){
    printf("ttEL PRECIO ES: $120.00 n");
    printf("INTRODUZCA NUMERO DE PRENDAS: ");
    scanf("%d",&pren);
    while(pren<0){
    printf("INTRODUZCA NUMERO DE PRENDAS: ");
    scanf("%d", &pren);
    }
    total=120*pren;
    printf("nEL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==14){
    printf("tEL PRECIO ES: $22.00 n");
    printf("INTRODUZCA NUMERO DE ARTICULOS");
    scanf("%d",&art);
    while(pren<0){
    printf("INTRODUZCA NUMERO DE ARTICULOS: ");
    scanf("%d",&pren);
    }
    total=22*art;
    printf("nEL PRECIO TOTAL A PAGAR ES $%d.00nn", total);
    }
    else if (opt==15){
    printf("tEL PRECIO ES: $19.00 n");
    printf("INTRODUZCA NUMERO DE ARTICULOS");
    scanf("%d",&art);
    while(art<0){
    printf("INTRODUZCA NUMERO DE ARTICULOS: ");
    scanf("%d",&art);
    }
    total=19*art;
    printf("nEL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==16){
    printf("tEL PRECIO ES: $34.00 n");
    printf("INTRODUZCA NUMERO DE ARTICULOS");
    scanf("%d",& art);
    while(art<0){
    printf("INTRODUZCA NUMERO DE ARTICULOS: ");
    scanf("%d", &art);
    }
    total=34*art;
    printf("EL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==17){
    printf("tEL PRECIO ES: $41.00 n");
    printf("INTRODUZCA NUMERO DE ARTICULOS");
    scanf("%d",& art);
    while(art<0){
    printf("INTRODUZCA NUMERO DE ARTICULOS: ");
    scanf("%d", &art);
    }
    total=41*art;
    printf("EL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==18){
    printf("tEL PRECIO ES: $11.00 n");
    printf("INTRODUZCA NUMERO DE ARTICULOS");
    scanf("%d",& art);
    while(art<0){
    printf("INTRODUZCA NUMERO DE ARTICULOS: ");
    scanf("%d", &art);
    }
    total=11*art;
    printf("EL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==19){
    printf("tEL PRECIO ES: $91.00 n");
    printf("INTRODUZCA NUMERO DE ARTICULOS");
    scanf("%d",& art);
    while(art<0){
    printf("INTRODUZCA NUMERO DE ARTICULOS: ");
    scanf("%d", &art);
    }
    total=91*art;
    printf("EL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    else if (opt==20){
    printf("tEL PRECIO ES: $4.00 n");
    printf("INTRODUZCA NUMERO DE ARTICULOS");
    scanf("%d",& art);
    while(art<0){
    printf("INTRODUZCA NUMERO DE ARTICULOS: ");
    scanf("%d", &art);
    }
    total=4*art;
    printf("EL PRECIO TOTAL A PAGAR ES $%d.00nn",total);
    }
    printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
    scanf("%d",&saliryesno);
    if(saliryesno==1){
    salir=1;
    }
    }
    }

  7. Bueno este programa optimiza un poco el que escribiste, ya que siempre acaba en 5 iteraciones, calculando cuántas monedas debe dar de cada tipo en vez de ir restando progresivamente.

    #include
    using namespace std;

    /*Este programa devuelve el cambio en pesetas, en el menor nº de monedas posible*/

    int main()
    {
    int cambio, total, mon100 = 0, mon25 = 0, mon10 = 0, mon5 = 0, mon1 = 0;
    do{
    cout <> cambio;
    }while(cambio 20000);
    while(cambio > 0){
    if(cambio >= 100){
    total = cambio / 100;
    cambio -= total*100;
    mon100 += total;
    }else if(cambio >= 25){
    total = cambio / 25;
    cambio -= total*25;
    mon25 += total;
    }else if(cambio >= 10){
    total = cambio / 10;
    cambio -= total*10;
    mon10 += total;
    }else if(cambio >= 5){
    total = cambio / 5;
    cambio -= total*5;
    mon5 += total;
    }else if(cambio >= 1){
    total = cambio / 1;
    cambio -= total*1;
    mon1 += total;
    }
    }
    cout << mon100 << " " <<mon25 << " " <<mon10 << " " <<mon5 << " " <<mon1 << " " <<endl;
    return 0;
    }

  8. prodrias hacer un programa una compañia distribuye n productos a distitintos comercios de la ciudad para ello almacena un arreglo toda la informacion ralcionada a su mercancia
    codigo,descripcion, existencia, minimo a tner en existencia precio unitario.
    y que ejecute lo siguiente:
    venta de un producto: se deben actualizar los campos correspondients y verificar que la nueva exitencia no este abajo del minimo.(datos, codigo, cantidad vendida).
    reabastecimienteo de un producto:
    se deben actualizar los campos correspondientes(datos,codigo,cantidad comprada)
    Actualizar el precio de un producto: (datos,codigo,y porcentaje de aumento)
    Informar sobre un producto: proporcionar todos los proporcionados por un producto (datos,codigo).
    si lo hicieras seria un gran ejemplo que no me han enseñado muy bien ha hacer un menu como el lo pide

  9. Hola, muy buen post, me gustaria que me ayudaras con algo ya que apenas estoy programando en c++ con dev c++, y necesito un programa asi:

    En una empresa de apuestas, los clientes juegan números con los cuales aspiran a ganar dinero. El sorteo juega un número único de 3 cifras. Los clientes juegan un número de tres cifras y uno de dos cifras.
    Escriba un programa que permita co0nocer la cantidad de ganadores con tres cifras y la cantidad de ganadores con dos cifras. Gana el que acierte las tres cifras o las dos últimas cifras.
    DATOS DE ENTRADA
    El numero ganador de tres cifras.
    La cantidad de apuestas del dia.
    Los números apostados de tres cifras.
    Los números apostados de dos cifras.

    DATOS DE SALIDA
    Cantidad de acierto de tres cifras.
    Cantidad de aciertos de dos cifras.

    Te lo agradecería con el alma, graxias¡

  10. Hola, lo hice y aparte le puse si querian hacerlo de nuevo.

    #include
    #include
    #include
    #include

    /*“Supón que una maquina de monedas de 10,5,2,1 y 50 centavos.
    Debes escribir un programa que decida cuantas monedas dará de cambio,
    dando prioridad las de mayor denominación.
    Debe recibir como entrada la cantidad de dar a cambio.
    Ejemplo: para $40.50 será 4 de 10, 0 de 5, 0 de 2, 0 de 1 y 1 de 50 centavos.”
    http://codigoc.org/611-devolver-cambio-en-c
    */

    int main()
    {
    int x=0;
    do
    {
    float cambio;
    int cambio2, m10=0, m5=0, m2=0, m1=0, m05=0;
    printf(“Cambio de: “);
    scanf(“%f”, &cambio);
    cambio2=(int)cambio;
    if(cambio-cambio2==0 || cambio-cambio2==0.5)
    {
    do
    {
    if(cambio>=10)
    {
    m10++;
    cambio=cambio-10;
    }
    else if(cambio>=5)
    {
    m5++;
    cambio-=5;
    }
    else if(cambio>=2)
    {
    m2++;
    cambio-=2;
    }
    else if(cambio>=1)
    {
    m1++;
    cambio-=1;
    }
    else if(cambio>=0.5)
    {
    m05++;
    cambio-=0.5;
    }
    }
    while(cambio>0);
    printf(“Se necesitaran n %i monedas de 10 pesos.n %i monedas de 5 pesos.n %i monedas de 2 pesos.n %i monedas de 1 pesos.n %i monedas de 50 centavos n n”, m10, m5, m2, m1, m05);
    }
    else
    {
    printf(“Pusiste mal los datos. n”);
    getch();
    }
    char resp[3];
    printf(“Deseas hacerlo de nuevo? “);
    scanf(“%s”, &resp);
    getch();
    if(resp[0]==’s’)
    {
    printf(“Dijiste que %s!, Lo haremos de nuevo!”, resp);
    getch();
    x++;
    system(“cls”);
    }
    else if(resp[0]==’n’)
    {
    printf(“Dijiste que %s, Hasta luego!”, resp);
    getch();
    x=0;
    }
    else
    {
    printf(“No pusiste si o no, por lo tanto saldremos del programa. Adios!”);
    getch();
    x=0;
    }
    }
    while(x>0);
    getch();
    return 0;
    }

  11. Hola, quisiera que me ayudaran con este ejercicio.

    Realizar un programa que capture un listado de productos(datos, nombre, cantidad, valor, tipo_iva), y calcule el valor total por cada producto.

    El programa debe solicitar si la persona desea continuar con la captura de otro producto.

    Cuando termine de capturar productos el sistema debe mostrar:
    El total a pagar.
    El total por cada tipo de iva.

    Tipos de Iva (A->16%. B-> 14%, C->10%)

  12. Hola me dejaron un programa a realizar es este :
    Realizar un programa de recibir cantidad de dinero y mostrar resultados de 5,2 y 1 mil, ademas dar tipo de cambio desde un menu.
    Si m pudieran ayudar esq no se cm empezarlo y llevo muy poco en esto de programar.

  13. Necesito una ayuda hacer un programa con menu y con las struct de los datos algo asi

    #include
    #include

    main()
    {
    char sexo[10];
    char num[10];
    char nombre[10];

    struct //*datos*//

    printf(“Menu Principal”);
    printf(“cargar datos…1”);
    printf(“consultar datos…2”);
    printf(“lista datos…3”);
    printf(“salir…4”);
    scanf(“%d;&op”);
    }
    case 1
    {
    printf(“cargar datos…1.1”);
    printf(“cargar producto…1.2”);
    printf(“cargar provedor….1.3”);
    printf(“salir….1.4”);

    printf(“lea opciones”);
    scanf(“%d,&opc”);
    }
    case 1.1

    {
    printf(“lea cedula”);
    scanf(“%d,&cd”);
    break();
    }
    case 1.2
    {
    printf(“lea codigo”);
    scanf(“d,&cd”);
    break ();
    }

    case 2
    {
    while (“opc!=4”)

    printf(“consultar cliente…2.1”);
    printf(“consulta producto..2.2”);
    printf(“consulta provedor….2.3”);
    printf(“salir….2.4”);
    printf(“opc”);
    scanf(“d,&opc”);
    }
    }
    }

    1. gracias de verdad ha………… este codigo esta muy bueno ya mas luego estare apoyando a la pagina con ejemplos ha……..
      gracias a la pagina ha y a las personas que hacen posible este ejemplos .

  14. Hola alguien me podria ayudar a decirme como al ejemplo de la maquina de los refresco la puedo hacer utilizando arreglos y/o cadenas asi como estructuras es el mismo problema que me dieron

  15. esta padrisima esta pagina me a ayudado mucho en esto de la programacion y con mis evaluaciones yo tengo muchos programas y cuando vea dudad tambien compartire mis programas que he realizado =)

  16. elbaorar un programa que solicite n productos y debuelva como resultado la suma de todos ellos asi como un descuento del 5% si el monto esede los 500.00 o de 10% si el esede los 2000.00 presentando al fial el descuento resivido y el toltal apagar

  17. PORFAVOR! NECESITO SABER COMO SACO UN DESCUENTO DE PAGO;
    TIENE QUE LLEBAR EL PROCENTAJE DE DESCUENTO
    CANTIDAD DESCONTADA Y TOTAL DE PAGAR
    PORFAVOR😦 ME URGE

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s