Lenguaje C
Descripción Una empresa dedicada a la producción de software ofrece a sus clientes aplicaciones comerciales clasificado de la siguiente manera:
TIPO | DESCRIPCION | COSTO
1 | CONTABILIDAD BASICA | $5000.00
2 | CONTABILIDAD DE COSTOS | $6500.00
3 | CONTABILIDAD AVANZADA | $7000.00
Las aplicaciones comerciales se venden por número de licencia. La primera licencia esta incluida dentro del costo del paquete, para cada licencia adicional se cobra $.2000.00 por cada una.
Si el cliente así lo desea (Respuesta S(1) o N(2)) se le ofrece un plan de mantenimiento del software a un precio adicional de $.8,000 para la modalidad 1, 9,000 para la 2 y 10,000 para la 3.
Para la modalidad 2 y 3 se debe comprar un manual de usuario a un precio adicional del $.1500.00. A los clientes que compren mas de una licencia se les otorga un descuento del 25% del precio del manual.
Emitir una factura al usuario que muestre:
1. Precio base de la licencia
2. Costo por licencias adicionales
3. Costo por plan de mantenimiento
4. Costo por manual de usuario
5. Descuento
6. Costo total
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
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int plan_mantenimiento, tipo;
    float base_licencia, costo_mantenimiento, costo_manual, costo_total, descuento;
    float licencias_adicionales, numero_de_licencias;
    printf ("Ingrese el valor de numero de licencias: ");
    scanf ("%f", &numero_de_licencias);
    (void) getchar ();
    base_licencia=0;
    costo_mantenimiento=0;
    costo_manual=0;
    licencias_adicionales=(numero_de_licencias-1)*2000;
    printf ("Seleccione el valor de tipo.\n");
    printf ("\t1.- Contabilidad b\240sica\n");
    printf ("\t2.- Contabilidad de costos\n");
    printf ("\t3.- Contabilidad avanzada\n");
    printf ("\t: ");
    do {
        scanf ("%d", &tipo);
        (void) getchar ();
        if (tipo<1||tipo>3)
            printf ("Valor incorrecto. Ingr\202selo nuevamente.: ");
    } while (tipo<1||tipo>3);
    printf ("Seleccione el valor de plan mantenimiento.\n");
    printf ("\t1.- Si\n");
    printf ("\t2.- No\n");
    printf ("\t: ");
    do {
        scanf ("%d", &plan_mantenimiento);
        (void) getchar ();
        if (plan_mantenimiento<1||plan_mantenimiento>2)
            printf ("Valor incorrecto. Ingr\202selo nuevamente.: ");
    } while (plan_mantenimiento<1||plan_mantenimiento>2);
    if(tipo==1)
        base_licencia=5000;
    if(tipo==2)
    {
        base_licencia=6500;
        costo_manual=1500;
    }
    if(tipo==3)
    {
        base_licencia=7000;
        costo_manual=1500;
    }
    if(plan_mantenimiento==1&&tipo==1)
        costo_mantenimiento=8000;
    if(plan_mantenimiento==1&&tipo==2)
        costo_mantenimiento=9000;
    if(plan_mantenimiento==1&&tipo==3)
        costo_mantenimiento=10000;
    descuento=numero_de_licencias>1?costo_manual*0.75:0;
    costo_total=base_licencia+licencias_adicionales+costo_mantenimiento+costo_manual-descuento;
    printf ("Valor de base licencia: %g\n", base_licencia);
    printf ("Valor de costo mantenimiento: %g\n", costo_mantenimiento);
    printf ("Valor de costo manual: %g\n", costo_manual);
    printf ("Valor de costo total: %g\n", costo_total);
    printf ("Valor de descuento: %g\n", descuento);
    printf ("Valor de licencias adicionales: %g\n", licencias_adicionales);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}