Ejercicio 2
El centro social La Guayabera necesita llevar un control de las bebidas consumidas dentro de su local, para ello, es necesario implementar un programa que le permita verificar el pedido mínimo de cada mesa, teniendo en cuenta los siguientes requisitos:
El programa debe solicitar la cantidad de bebidas a pedir por un cliente teniendo en cuenta que existen las siguientes opciones y precios:
• Agua 2000
• Gaseosa 4000
• Cerveza 5000
Partiendo del pedido del cliente, el programa debe calcular si se cumple con el tope mínimo (15000), si este tope se cumple se puede realizar el pedido, de lo contrario se debe de solicitar nuevamente él mismo.
Adicionalmente el programa debe mostrar la cantidad total de bebidas ordenadas (incluyendo solo los pedidos validos), detallando la cantidad de cada bebida (Agua, gaseosa o cerveza). Por ultimo, se debe de mostrar la cantidad total de dinero recibido por el concepto de todas las bebidas.
El programa debe de ejecutarse de forma continua y registrar pedidos hasta que el encargado decida cerrar cuentas.
por favor urgente!
Respuestas
Vamos a desarrollar el algoritmo lo más sencillo posible en lenguaje de programación C:
//Iniciamos incluyendo las librerías necesarias
#include <stdio.h>
#include <string.h>
//Definimos las cuatro constantes que son el precio de los productos y del //pedido mínimo
#define AGUA 2000
#define GASEOSA 4000
#define CERVEZA 5000
#define PEDIDOMINIMO 15000
//Iniciamos con el programa principal
main(){
//Declaramos las variables a usar
int pedido,tpedidos,agua,gaseosa,cerveza,cagua=0,cgaseosa=0,ccerveza=0;
char resp[1];
//Tenemos dos ciclos Do-While para hacer el pedido según las restricciones del programa: mínimo de pedido o hasta que desee cerrar
do{
do{
pedido=0,agua=0,gaseosa=0,cerveza=0;
system("cls"); // Limpiamos la pantalla
//Pedimos al encargado ingresar los pedidos
printf("Centro Social La Guayabera\n");
printf("Bienvenido\n");
printf("\nIngrese cantidades a pedir de:\n");
printf("Agua $2000 : ");
scanf(" %d", &agua);
printf("Gaseosa $4000 : ");
scanf(" %d", &gaseosa);
printf("Cerveza $5000 : ");
scanf(" %d", &cerveza);
//Calculamos el pedido total e imprimimos por consola
pedido=(agua*AGUA)+(gaseosa*GASEOSA)+(cerveza*CERVEZA);
printf("\nTotal pedido $%d\n",pedido);
//Verificamos con un IF, si se cumple el mínimo de 15000, si no se deberá ingresar el pedido de nuevo
if(pedido<PEDIDOMINIMO){
printf("\nPedido es menor al minimo $%d \n",PEDIDOMINIMO);
printf("\nDebe pedir nuevamente...........\n");
getch();
}
}while(pedido<PEDIDOMINIMO); //El ciclo interno finaliza si se cumple con el mínimo de pedido
//Se calcula el total de las bebidas ordenadas
cagua=cagua+agua;
cgaseosa=cgaseosa+gaseosa;
ccerveza=ccerveza+cerveza;
//Se pregunta si se desea cerrar cuentas
printf("\nDesea cerrar cuentas: marque S, s, 0 ");
scanf(" %s", &resp);
//Si es S, s o 0, significa que si desea cerrar
}while(strcmp(resp, "S") != 0&&strcmp(resp, "s") != 0||strcmp(resp, "\n") == 0);
system("cls");
//Se imprimen por consola todos los datos de venta
printf("Centro Social La Guayabera\n\n");
printf("Cantidades vendidas hoy \n\n");
printf("Agua $2000 : %d",cagua);
printf("\nGaseosa $4000 : %d",cgaseosa);
printf("\nCerveza $5000 : %d",ccerveza);
tpedidos=(cagua*AGUA)+(cgaseosa*GASEOSA+(ccerveza*CERVEZA));
printf("\nTotal venta : %d\n",tpedidos);
getch();
}
//Finaliza el programa