-
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?
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 <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 ("Ingresa el valor de cantidad de armazones: ");
scanf ("%f", &cantidad_de_armazones);
(void) getchar ();
printf ("Ingresa el valor de cantidad de hojas: ");
scanf ("%f", &cantidad_de_hojas);
(void) getchar ();
printf ("Ingresa el valor de cantidad de viguetas: ");
scanf ("%f", &cantidad_de_viguetas);
(void) getchar ();
printf ("Selecciona 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\202salo nuevamente.: ");
} while (tipo_de_pago<1||tipo_de_pago>2);
printf ("Selecciona 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\202salo 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;
}