Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void cargarProducto(float * p_precio, int * p_cantidad);
- double getPrecioTotal(int cantidad, double precio_producto);
- double getDescuento(double precio_total,int cantidad);
- void mostrar(char nombre[],int cantidad, double precio, double sub_total, double descuento, double total);
- int realizarVenta();
- void menu();
- double totalVendido(double totales[100],int cantidadVentas);
- void mostrarTotalVendido(double totales[100],int cantidadVentas);
- int main()
- {
- int op = 0;
- double totales[100] = {0};
- double total = 0;
- int cantidadVentas = 0;
- do
- {
- menu();
- fflush(stdin);
- scanf("%d",&op);
- switch (op)
- {
- case 1: cantidadVentas = realizarVenta(totales,cantidadVentas);
- break;
- case 2: total = totalVendido(totales,cantidadVentas);
- if (total > 0)
- printf("Total ... $ %.2f \n",total);
- else
- printf("agarra la pala\n");
- break;
- case 3: mostrarTotalVendido(totales,cantidadVentas);
- break;
- default: printf("Op invalida\n");
- }
- }while (op!=4);
- printf("Gracias por usarlo\n");
- return 0;
- }
- void menu()
- {
- system("pause");
- system("cls");
- printf("1-Realizar venta\n");
- printf("2-Mostrar total vendido\n");
- printf("3-Mostrar cantidad total\n");
- printf("4-Salir\n");
- }
- double totalVendido(double totales[100],int cantidadVentas)
- {
- double total = 0;
- for (int i=0;i<cantidadVentas;i++)
- {
- total = total + totales[i];
- }
- return total;
- }
- void mostrarTotalVendido(double totales[100],int cantidadVentas)
- {
- for (int i=0;i<cantidadVentas;i++)
- {
- printf("Total i= %d ... $ %.2f \n",i+1,totales[i]);
- }
- }
- /*
- Hacer una función que pida la cantidad de productos comprados por el
- cliente y el precio de por unidad y retorne ambos. (Ojo, solo puede haber un
- return y sólo puede retornar un valor, pensar bien).
- */
- void cargarProducto(float * p_precio, int * p_cantidad)
- {
- do
- {
- printf("Ingrese precio del producto\n");
- fflush(stdin);
- scanf("%f",p_precio);
- printf("Precio ingresado %.2f\n",(*p_precio));
- }while ((*p_precio)<=0);
- do
- {
- printf("Ingrese cantidad comprada del producto\n");
- fflush(stdin);
- scanf("%d",p_cantidad);
- printf("Cantidad ingresada %.2f\n",(*p_cantidad));
- }while ((*p_cantidad)<=0);
- }
- /*
- Hacer una función que reciba como parámetro, la cantidad de productos y el
- precio y retorne el monto total de la venta.
- */
- double getPrecioTotal(int cantidad, double precio_producto)
- {
- return cantidad * precio_producto;
- }
- /*
- Una función para determinar el descuento aplicado (si es que tiene). Por
- parámetro pasa, el monto total de la compra y la cantidad de producto
- comprado. Si el monto de la compra supera los 1000$ y son más de 10
- productos, tiene un descuento del 15%, si la compra supera los 2000$ y la
- cantidad de productos es 25 o más, tiene un descuento del 20%, si no
- cumple ninguno de los requisitos no se le aplica descuento alguno.
- */
- double getDescuento(double precio_total,int cantidad)
- {
- double descuento = 0;
- int por_descuento = 0;
- if ((precio_total>1000)&&(cantidad>10))
- {
- por_descuento = 15;
- }
- else if ((precio_total>2000)&&(cantidad>25))
- {
- por_descuento = 20;
- }
- if (por_descuento>0)
- {
- descuento = (por_descuento*precio_total)/100;
- }
- return descuento;
- }
- /*
- Hacer una función que muestre por pantalla la factura de compra
- */
- void mostrar(char nombre[],int cantidad, double precio, double sub_total, double descuento, double total)
- {
- system("cls");
- printf("%s\n",nombre);
- printf("Cantidad de productos.... %d unidades.\n",cantidad);
- printf("Precio x producto.... $ %.2f \n",precio);
- printf("Total parcial.... $ %.2f \n",sub_total);
- if (descuento>0)
- printf("Descuento aplicado.... -$ %.2f \n",descuento);
- printf("Monto a pagar.... $ %.2f \n",total);
- }
- /*
- El usuario puede realizar todas las ventas que desee, una vez que ya no
- tiene más ventas, el programa debe mostrar el monto total y la cantidad de
- producto vendido a lo largo del día.
- */
- int realizarVenta(double totales[100],int cantidadVentas)
- {
- char mander = 's';
- while (mander == 's')
- {
- system("cls");
- int cantidadProducto = 0;
- float precioProducto = 0;
- cargarProducto(&precioProducto,&cantidadProducto);
- double subtotal = getPrecioTotal(cantidadProducto,precioProducto);
- double descuento = getDescuento(subtotal,cantidadProducto);
- double total = subtotal - descuento;
- mostrar("Empresa Walrus",cantidadProducto,precioProducto,subtotal,descuento,total);
- totales[cantidadVentas] = total;
- cantidadVentas++;
- printf("Desea ingresa una nueva venta? s/n");
- fflush(stdin);
- scanf("%c",&mander);
- }
- return cantidadVentas;
- }
Advertisement
Add Comment
Please, Sign In to add comment