Skip to content
This repository has been archived by the owner on Jul 10, 2019. It is now read-only.
valeriahernandobernabe edited this page May 19, 2019 · 10 revisions

KACHOPO´S

Durante este ultimo cuatrimestre hemos estado haciendo este programa que consiste en un restaurante de comida rápida llamado Kachopo´s. En el programa es posible escoger diferentes tipos de menús de cachopos haciendo los cambios personales que gusten así como poder ver la lista de productos seleccionados y con posibilidad de aplicar descuentos al precio final. Con este trabajo nuestro objetivo principal era poder aplicar a la práctica todo lo aprendido en la asignatura, poder ver la utilidad del uso de la informática a nuestro uso diario. Así mismo, mejorar con el uso de funciones y punteros para poder hacer una simplificación del código que nos ayude no solo a comprender mejor el código sino con la posibilidad de aplicarlos a otro códigos.

GUÍA DE UTILIZACIÓN DEL PROGRAMA El programa empieza con la intro del nombre del restaurante y un menú de 4 opciones:

  1. Escoger Menú
  2. Mostrar lista de pedidos
  3. Pagar
  4. Salir

Siendo el cliente, en la opción 1: Escoger menú elegimos el menú que queremos, Adulto o Infantil , si elegimos Infantil, el programa volverá al menú principal pues ya viene diseñado.

Por lo contrario, si escogemos Adulto, el programa te preguntará que Principal quieres, a elegir entre uno de los 5 cachopos disponibles, entre ellos Vegano. Si seleccionas este, se saltará la próxima opción, la de tipo de Carne.

Después habrá otra opciones como la Guarnición, _si quieres ingrediente Extra y la Bebida que deseas.

Una vez acabado todo el pedido del menú, el programa vuelve al menú principal, donde tienes la opción de seguir pidiendo o escoger: la opción 2: Mostrar lista de pedidos en donde el programa te mostrará por pantalla los pedidos o la opción 3 : Pagar en donde el programa preguntará si tiene algún código promocional. Si dispones de uno, el programa aplicará el descuento y te mostrará el precio final a pagar.

La opción 4: Salir para el programa.

CONTENIDO DEL CÓDIGO: En primer lugar hemos introducido las librerías: <string.h>, para poder usar funciones como strcpy o strcmp para copiar o comparar cadenas, <stdlib.h> para usar la función system para poder cambiar el color de la consola y <stdbool.h> para poder añadir booleanos. Además hemos definido constantes #define NUM_COD que nos permite cambiar el numero de códigos de descuento en todo el programa sin necesidad de ir cambiando esa variable una a una por todo el código.

Siguiendo el orden, hemos declarado estructuras , una para los códigos promocionales , Descuentos, y otra en la que se incluyen todos los elementos del menú, Recibo, donde todos los elementos menos el precio son vectores.

Tras esto, implementamos las funciones que vamos a usar:

  • INTRO: void intro() con esta función que muestra el nombre del restaurante nos evitamos tener que estar poniéndolo en cada cambio de pantalla.Es una función que no recibe ni devuelve nada.
  • INICIO: char inicio (int a) esta función saluda al cliente teniendo en cuenta si es la primera vez. .Recibe el número de iteraciones que lleva el programa.
  • MENINICIO: int meninicio () esta función permite que vuelva a salir el menú al finalizar un pedido sin necesidad de volver a escribirlo, por eso tampoco recibe ni devuelve nada..
  • MENU: cuando el usuario escoge la opción 1, aparecerá esta función void menu (Recibo *x). Tras esta función, aparecerán las funciones PRINCIPAL, CARNE, GUARNICION,, EXTRA y BEBIDA. Todas ellas reciben la estructura Recibo, pues guardan en la estructura los elementos seleccionados por el cliente.
  • LISTACOMPRA: void listacompra(Recibo *x, int a) con esta función mostramos todos los productos seleccionados por pantalla.En ella recorremos todos los vectores de la estructura con un bucle for que va desde el vector 0 hasta el numero de pedidos, a.
  • CONTTOT: en esta función se van sumando los precios de todos los pedidos y se muestra el precio final por pantalla. float conttot(Recibo x[], int a). En esta ocasión no hacemos uso del puntero para la estructura porque solo le introducimos a la función uno de los elementos de la estructura, el precio.
  • CODIGOPROM: float codigoprom (Descuentos x[], int a).En esta función comparamos el código promocional introducido por el cliente con los guardados en el programa.Si coincide, la función devuelve el descuento asociado al código y luego en la opción de pagar, se le aplicará al precio total final.
  • HISTOTICKET: void histoticket (Recibo x[],int a,float b).En esta función copiamos todos los pedidos y el precio total al fichero histoticket.

Por último, hemos hecho uso de ficheros .Hemos usado un fichero bloc de notas : histoticket al que accedemos a través de la función histoticket, a la que llamamos en el main en el momento en el que el cliente pulsa la opción 3, Pagar.En él se van guardando los pedidos de los clientes, así como el precio total de cada uno de ellos. Los datos se guardan por filas, es decir, en cada fila cada menú escogido por el cliente y por último el precio. El fichero lo usamos como historial para el restaurante, para poder hacer backup de todo lo que han servido y cobrado.

Clone this wiki locally