Run Code  | API  | Code Wall  | Misc  | Feedback  | Login  | Theme  | Privacy  | Patreon 

Vending machine

//Title of this code
//clang 3.6.0

#include  <stdio.h>

int main(void)
{
    int cant =0, d1=0, d5=0, d2=0;
    int moneda;
    
    printf("Deposite una moneda (1,5,2) o pida artículo (0)...\n");
    do
    {
        //moneda = getchar();
        
        scanf(" %d", &moneda);
        printf("\n");
        switch(moneda)
        {
            case 1: cant+= 100; break;
            case 5: cant+= 50; break;
            case 2: cant+= 20; break;
            case 0: 
                    if (cant < 150)
                    printf("Por favor, introduce más dinero...\n"); 
                    break;
            default: printf("\nMoneda no válida!!\n");
        }
        if (moneda !=0)
            printf("Cantidad = $%5.2f\n", cant/100.0);
    } while (moneda !=0 || cant<150);
    // si llegamos aquí es porque seleccionó producto y saldo mayor que 150
    cant -= 150;
    
    // cae el producto
    // devolver el cambio que es cant
    
    while (cant>=100)
    {
        cant -= 100;
        d1++;
    }
    
    if (d1!=0) printf("Monedas de euro: %2d\n", d1);
    
    while (cant>=50)
    {
        cant -= 50;
        d5++;
    }
    
    if (d5!=0) printf("Monedas de 50 centimos de euro: %2d\n", d5);
    
    while (cant>=20)
    {
        cant -= 20;
        d2++;
    }
    
    if (d2!=0) printf("Monedas de 20 centimos de euro: %2d\n", d2);
     
            
    return 0;
}
 run  | edit  | history  | help 0