• Lenguaje

    C

  • Descripción

    Una empresa vende licencias de un programa a los precios dados en la siguiente tabla:
    Versión | Precio
    Estudiante | $90.00
    Profesional | $120.00
    Empresarial | $150.00

    Como oferta especial la empresa aplica un porcentaje de descuento sobre el importe de la compra de acuerdo a la siguiente tabla:
    Cantidad de licencias | Descuento
    <5 | 11%
    ≥5 y <10 | 13%
    ≥10 | 14%

    Diseñe un programa que permita efectuar ventas y muestre luego de cada una de ellas la siguiente información:
    El importe de la compra
    El importe del descuento
    El importe a pagar
    La cantidad de licencias vendidas de cada tipo entre todas las ventas.
    El importe total acumulado de todas las ventas

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main (void)
{
    int cantidad_empresarial, cantidad_estudiante, cantidad_profesional, version;
    float cantidad_de_licencias, importe_a_pagar, importe_de_la_compra, importe_del_descuento, precio;
    float total_acumulado;
    char tecla_repetir;
    cantidad_empresarial = 0;
    cantidad_estudiante = 0;
    cantidad_profesional = 0;
    total_acumulado = 0;
    do {
        system ("cls");
        printf ("Ingresa el valor de cantidad de licencias: ");
        scanf ("%f", &cantidad_de_licencias);
        (void) getchar ();
        precio=0;
        importe_del_descuento=0;
        printf ("Selecciona el valor de version.\n");
        printf ("\t1.- Estudiante\n");
        printf ("\t2.- Profesional\n");
        printf ("\t3.- Empresarial\n");
        printf ("\t: ");
        do {
            scanf ("%d", &version);
            (void) getchar ();
            if (version<1||version>3)
                printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
        } while (version<1||version>3);
        if(version==1)
        {
            precio=90;
            cantidad_estudiante=cantidad_estudiante+cantidad_de_licencias;
        }
        if(version==2)
        {
            precio=120;
            cantidad_profesional=cantidad_profesional+cantidad_de_licencias;
        }
        if(version==3)
        {
            precio=150;
            cantidad_empresarial=cantidad_empresarial+cantidad_de_licencias;
        }
        importe_de_la_compra=precio*cantidad_de_licencias;
        if(cantidad_de_licencias<5)
            importe_del_descuento=importe_de_la_compra*0.11;
        if(cantidad_de_licencias>=5&&cantidad_de_licencias<10)
            importe_del_descuento=importe_de_la_compra*0.13;
        if(cantidad_de_licencias>=10)
            importe_del_descuento=importe_de_la_compra*0.14;
        importe_a_pagar=importe_de_la_compra-importe_del_descuento;
        total_acumulado=total_acumulado+importe_a_pagar;
        printf ("Valor de importe a pagar: %g\n", importe_a_pagar);
        printf ("Valor de importe de la compra: %g\n", importe_de_la_compra);
        printf ("Valor de importe del descuento: %g\n", importe_del_descuento);
        printf ("Valor de precio: %g\n", precio);
        putchar ('\n');
        printf ("\250Deseas repetir el proceso? (S/N): ");
        do {
            tecla_repetir = (char) getch();
        } while (tecla_repetir!='s' && tecla_repetir!='n' && tecla_repetir!='S' && tecla_repetir!='N');
        putchar ('\n');
    } while (tecla_repetir=='s' || tecla_repetir=='S');
    printf ("Valor de cantidad empresarial: %d\n", cantidad_empresarial);
    printf ("Valor de cantidad estudiante: %d\n", cantidad_estudiante);
    printf ("Valor de cantidad profesional: %d\n", cantidad_profesional);
    printf ("Valor de total acumulado: %f\n", total_acumulado);
    system ("pause");
    return EXIT_SUCCESS;
}