Lenguaje C
Descripción Un cliente ordena cierta cantidad de hojas de hielo seco, viguetas y armazones; las hojas de hielo seco tienen un 20% de descuento y las viguetas un 15%, sobre el total de cada una. Los datos que se tiene por cada tipo de artículo son: la cantidad pedida y el precio (hojas precio=2.75, viguetas precio=4, armazones precio=6.75). Además si se paga de contado tiene un descuento de 7% sobre el monto total. El algoritmo debe imprimir el costo total de la orden, en caso de ser efectivo de mostrar el costo inicial, el descuento y el monto final. Recuerde los datos ingresados no pueden ser negativos.
La solución debe procesar las ordenes de 10 clientes y mostrar la siguiente información:
a) ¿Cuántos clientes pagaron en efectivo?
b) ¿Cuál es la suma total de todas las ventas?
c) ¿Cuántos productos se vendieron de cada tipo?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int armazones_vendidos, clientes_en_efectivo, forma_de_pago, hojas_vendidas, i;
    int tipo_de_pago, viguetas_vendidas;
    float cantidad_de_armazones, cantidad_de_hojas, cantidad_de_viguetas, costo_inicial, descuento;
    float monto_final, monto_total, precio_por_armazon, precio_por_hoja, precio_por_vigueta;
    float suma_total;
    armazones_vendidos = 0;
    clientes_en_efectivo = 0;
    hojas_vendidas = 0;
    viguetas_vendidas = 0;
    suma_total = 0;
    for (i=1; i<=10; i++)
    {
        printf ("PROCESO %d\n", i);
        printf ("Ingrese el valor de cantidad de armazones: ");
        scanf ("%f", &cantidad_de_armazones);
        (void) getchar ();
        printf ("Ingrese el valor de cantidad de hojas: ");
        scanf ("%f", &cantidad_de_hojas);
        (void) getchar ();
        printf ("Ingrese el valor de cantidad de viguetas: ");
        scanf ("%f", &cantidad_de_viguetas);
        (void) getchar ();
        printf ("Seleccione el valor de tipo de pago.\n");
        printf ("\t1.- Al contado\n");
        printf ("\t2.- A cr\202dito\n");
        printf ("\t: ");
        do {
            scanf ("%d", &tipo_de_pago);
            (void) getchar ();
            if (tipo_de_pago<1||tipo_de_pago>2)
                printf ("Valor incorrecto. Ingr\202selo nuevamente.: ");
        } while (tipo_de_pago<1||tipo_de_pago>2);
        printf ("Seleccione el valor de forma de pago.\n");
        printf ("\t1.- Efectivo\n");
        printf ("\t2.- Tarjeta\n");
        printf ("\t: ");
        do {
            scanf ("%d", &forma_de_pago);
            (void) getchar ();
            if (forma_de_pago<1||forma_de_pago>2)
                printf ("Valor incorrecto. Ingr\202selo nuevamente.: ");
        } while (forma_de_pago<1||forma_de_pago>2);
        precio_por_hoja=2.75;
        precio_por_vigueta=4;
        precio_por_armazon=6.75;
        costo_inicial=cantidad_de_hojas*precio_por_hoja+cantidad_de_viguetas*precio_por_vigueta+cantidad_de_armazones*precio_por_armazon;
        descuento=cantidad_de_hojas*precio_por_hoja*0.2+cantidad_de_viguetas*precio_por_vigueta*0.15;
        monto_total=costo_inicial-descuento;
        if(tipo_de_pago==1)
            descuento=descuento+monto_total*0.07;
        monto_final=costo_inicial-descuento;
        if(forma_de_pago==1)
            clientes_en_efectivo=clientes_en_efectivo+1;
        suma_total=suma_total+monto_final;
        armazones_vendidos=armazones_vendidos+cantidad_de_armazones;
        hojas_vendidas=hojas_vendidas+cantidad_de_hojas;
        viguetas_vendidas=viguetas_vendidas+cantidad_de_viguetas;
        printf ("Valor de costo inicial: %g\n", costo_inicial);
        printf ("Valor de descuento: %g\n", descuento);
        printf ("Valor de monto final: %g\n", monto_final);
        printf ("Valor de monto total: %g\n", monto_total);
        printf ("Valor de precio por armazon: %g\n", precio_por_armazon);
        printf ("Valor de precio por hoja: %g\n", precio_por_hoja);
        printf ("Valor de precio por vigueta: %g\n", precio_por_vigueta);
        putchar ('\n');
    }
    printf ("Valor de armazones vendidos: %d\n", armazones_vendidos);
    printf ("Valor de clientes en efectivo: %d\n", clientes_en_efectivo);
    printf ("Valor de hojas vendidas: %d\n", hojas_vendidas);
    printf ("Valor de viguetas vendidas: %d\n", viguetas_vendidas);
    printf ("Valor de suma total: %f\n", suma_total);
    system ("pause");
    return EXIT_SUCCESS;
}