• Lenguaje

    Pascal

  • Descripción

    Permita la gestión de ventas en una ferretería de la ciudad. Existen algunas políticas estrictas para el proceso de venta de la ferretería. Para que se efectué el cobro de una factura se debe pedir a los clientes (nombre, apellido, edad, ciudad y número de identificación); luego se pedirá cada uno de los productos comprados por el cliente (nombre del producto y número de productos). Las restricciones son las siguientes:
    - Si el comprador es de la ciudad de Loja, se reducirá el 25% del costo total de los productos comprados.
    - Si el comprador es de la ciudad de Quito, se reducirá el 20% del costo total de los productos.
    - Si el comprador es de otra ciudad, se reducirá el 18% del costo total de los productos.
    Los productos que constan en bodega son:
    Nombre Cantidad | $Costo
    Cemento c/saco | 12.25
    Cementina c/saco | 8.45
    Clavos c/libra | 1.50
    Hierro 1/2 c/varilla | 5.50
    Hierro 1/4 c/varilla | 3.45
    Pintura c/galon | 12.15
    Abrazaderas c/libra | 2.40
    Brochas c/una | 2.25
    El cobro del iva en la ferretería es muy particular, si el cliente tiene 18 años o menos, se le cobra el 10% del iva; caso contrario el iva a cobrar es del 12%.

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
80
81
82
83
program VentasEnUnaFerreteria;
uses crt;

var ciudad : integer;
var cantidad_de_abrazaderas_c_libra, cantidad_de_brochas_c_una, cantidad_de_cementina_c_saco, cantidad_de_cemento_c_saco, cantidad_de_clavos_c_libra : real;
var cantidad_de_hierro_1_2_c_varilla, cantidad_de_hierro_1_4_c_varilla, cantidad_de_pintura_c_galon, costo_total, descuento : real;
var edad, iva, total_a_pagar : real;
var nombre, apellido, numero_de_identificacion : string;
var tecla_repetir : char;
begin
    repeat
        clrscr;
        write ('Ingresa el nombre: ');
        readln (nombre);
        write ('Ingresa el apellido: ');
        readln (apellido);
        write ('Ingresa el numero de identificacion: ');
        readln (numero_de_identificacion);
        write ('Ingresa el valor de cantidad de abrazaderas c libra: ');
        readln (cantidad_de_abrazaderas_c_libra);
        write ('Ingresa el valor de cantidad de brochas c una: ');
        readln (cantidad_de_brochas_c_una);
        write ('Ingresa el valor de cantidad de cementina c saco: ');
        readln (cantidad_de_cementina_c_saco);
        write ('Ingresa el valor de cantidad de cemento c saco: ');
        readln (cantidad_de_cemento_c_saco);
        write ('Ingresa el valor de cantidad de clavos c libra: ');
        readln (cantidad_de_clavos_c_libra);
        write ('Ingresa el valor de cantidad de hierro 1 2 c varilla: ');
        readln (cantidad_de_hierro_1_2_c_varilla);
        write ('Ingresa el valor de cantidad de hierro 1 4 c varilla: ');
        readln (cantidad_de_hierro_1_4_c_varilla);
        write ('Ingresa el valor de cantidad de pintura c galon: ');
        readln (cantidad_de_pintura_c_galon);
        write ('Ingresa el valor de edad: ');
        readln (edad);
        writeln ('Selecciona el valor de ciudad.');
        writeln ('    1.- Loja');
        writeln ('    2.- Quito');
        writeln ('    3.- otra');
        write ('    : ');
        repeat
            readln (ciudad);
            if (ciudad<1) or (ciudad>3) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (ciudad>=1) and (ciudad<=3);
        costo_total := cantidad_de_cemento_c_saco*12.25+cantidad_de_cementina_c_saco*8.45+cantidad_de_clavos_c_libra*1.5+cantidad_de_hierro_1_2_c_varilla*5.5+cantidad_de_hierro_1_4_c_varilla*3.45+cantidad_de_pintura_c_galon*12.15+cantidad_de_abrazaderas_c_libra*2.4+cantidad_de_brochas_c_una*2.25;
        descuento := 0;
        if ciudad=1 then
            begin
                descuento := costo_total*0.25;
            end;
        if ciudad=2 then
            begin
                descuento := costo_total*0.2;
            end;
        if ciudad=3 then
            begin
                descuento := costo_total*0.18;
            end;
        if edad<=18 then
            begin
                iva := (costo_total-descuento)*0.1;
            end
        else
            begin
                iva := (costo_total-descuento)*0.12;
            end;
        total_a_pagar := costo_total-descuento+iva;
        writeln ('Nombre: ', nombre);
        writeln ('Apellido: ', apellido);
        writeln ('Numero de identificacion: ', numero_de_identificacion);
        writeln ('Valor de costo total: ', costo_total:0:6);
        writeln ('Valor de descuento: ', descuento:0:6);
        writeln ('Valor de iva: ', iva:0:6);
        writeln ('Valor de total a pagar: ', total_a_pagar:0:6);
        writeln;
        write (#168'Deseas repetir el proceso? (S/N): ');
        repeat
            tecla_repetir := readkey;
        until (tecla_repetir = 's') or (tecla_repetir = 'n') or (tecla_repetir = 'S') or (tecla_repetir = 'N');
    until (tecla_repetir <> 's') and (tecla_repetir <> 'S');
end.