• Lenguaje

    C

  • Descripción

    Realice un algoritmo para resolver el siguiente problema: una fábrica de pantalones desea calcular cuál es el precio final de venta y cuánto ganará por los N pantalones que produzca con el corte de alguno de sus modelos, para esto se cuenta con la siguiente información:
    a) Tiene dos modelos A y B, tallas 30, 32 y 36 para ambos modelos.
    b) Para el modelo A se utiliza 1.50 m de tela, y para el B 1.80 m.
    c) Al modelo A se le carga 80 % del costo de la tela, por mano de obra. Al modelo B se le carga 95 % del costo de la tela, por el mismo concepto
    d) A las tallas 32 y 36 se les carga 4 % del costo generado por mano de obra y tela, sin importar el modelo.
    e) Cuando se realiza el corte para fabricar una prenda sólo se hace de un solo modelo y una sola talla.
    f) Finalmente, a la suma de estos costos se les carga 30%, que representa la ganancia extra de la tienda.

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

int main (void)
{
    int modelo, talla;
    float N_pantalones, cargo_por_talla, costo_de_la_tela, ganancia, ganancia_extra;
    float mano_de_obra, metro_de_tela, metros_de_tela, precio_final;
    printf ("Ingresa el valor de N pantalones: ");
    scanf ("%f", &N_pantalones);
    (void) getchar ();
    printf ("Ingresa el valor de metro de tela: ");
    scanf ("%f", &metro_de_tela);
    (void) getchar ();
    printf ("Selecciona el valor de modelo.\n");
    printf ("\t1.- A\n");
    printf ("\t2.- B\n");
    printf ("\t: ");
    do {
        scanf ("%d", &modelo);
        (void) getchar ();
        if (modelo<1||modelo>2)
            printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
    } while (modelo<1||modelo>2);
    printf ("Selecciona el valor de talla.\n");
    printf ("\t1.- 30\n");
    printf ("\t2.- 32\n");
    printf ("\t3.- 36\n");
    printf ("\t: ");
    do {
        scanf ("%d", &talla);
        (void) getchar ();
        if (talla<1||talla>3)
            printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
    } while (talla<1||talla>3);
    if(modelo==1)
        metros_de_tela=1.5*N_pantalones;
    else
        metros_de_tela=1.8*N_pantalones;
    costo_de_la_tela=metros_de_tela*metro_de_tela;
    if(modelo==1)
        mano_de_obra=costo_de_la_tela*0.8;
    else
        mano_de_obra=costo_de_la_tela*0.95;
    if(talla==2||talla==3)
        cargo_por_talla=mano_de_obra*0.04;
    else
        cargo_por_talla=0;
    ganancia_extra=(costo_de_la_tela+mano_de_obra+cargo_por_talla)*0.3;
    precio_final=costo_de_la_tela+mano_de_obra+cargo_por_talla+ganancia_extra;
    ganancia=cargo_por_talla+ganancia_extra;
    printf ("Valor de cargo por talla: %g\n", cargo_por_talla);
    printf ("Valor de costo de la tela: %g\n", costo_de_la_tela);
    printf ("Valor de ganancia: %g\n", ganancia);
    printf ("Valor de ganancia extra: %g\n", ganancia_extra);
    printf ("Valor de mano de obra: %g\n", mano_de_obra);
    printf ("Valor de metros de tela: %g\n", metros_de_tela);
    printf ("Valor de precio final: %g\n", precio_final);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}