Menú de un bar.
Enviado por alex_sornoza • 25 de Agosto de 2017 • Trabajo • 1.067 Palabras (5 Páginas) • 221 Visitas
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct datos{
int id;
char nom[40];
float precio;
};
struct socio{
char nombre[35];
char cedula[15];
char ciudad[20];
char telefono[20];
};
typedef struct datos DATO;
typedef struct socio SOCIO;
char MenuPrincipal();
void CrearMenu();
void MostrarMenu();
void ProcesoCobro();
void limpia();
void ingreso();
void modificacion();
int main(void){ // Main principal
char op;
do{
op = MenuPrincipal();
switch(op){
case '1':
system("cls");
ingreso();
getch();
break;
case '2':
system("cls");
modificacion();
getch();
break;
case '3':
system("cls");
CrearMenu();
getch();
break;
case '4':
system("cls");
MostrarMenu();
getch();
break;
case '5':
system("cls");
printf("\n\tGracias por Preferirme hasta la Proxima\n\n");
break;
}
}while(op != '5');
return 0;
}
char MenuPrincipal(){ // Menu de Inicio - -- - - -
char op;
system("cls");
printf("\n RESTAURANTE [LA FAMILIA]\n");
printf("\n(1) resguistrar socio");
printf("\n(2) modificar socio");
printf("\n(3) Crear Menu del Dia");
printf("\n(4) Mostrar Menu del Dia");
printf("\n(5) Salir");
printf("\n Opcion --> "); fflush(stdin);
op = getch();
return op;
}
void CrearMenu(){
FILE *fich;
DATO e;
int cantidad;
if((fich = fopen("MenuDiario","ab")) == NULL){
printf("Fichero no existe! ");
}else{
printf("\n Atencion, ingrese cuidadosamente [NOMBRE Y PRECIO] del menu disponible para la venta!\n");
printf("Cuantos platillos desea registrar en el Menu! : "); fflush(stdin);
scanf("%i",&cantidad);
for(int i=1 ; i<=cantidad ; i++){
e.id = i;
printf("\nID: %i\n",i);
printf("Nombre: "); fflush(stdin);
gets(e.nom);
printf("Precio: $"); fflush(stdin);
scanf("%f",&e.precio);
fwrite(&e,sizeof(e),1,fich);
}
fclose(fich);
}
}
void MostrarMenu(){
FILE *fich;
DATO e;
if((fich = fopen("MenuDiario","rb")) == NULL){
printf("Fichero no existe! ");
}else{
fread(&e,sizeof(e),1,fich);
printf("\nRESTAURANTE [RONNY MATUTE]\n");
printf("\n______________________________\n");
while(! feof(fich)){
printf("\n (%i) %s.......> $%.2f",e.id,e.nom,e.precio);
fread(&e,sizeof(e),1,fich);
}
printf("\n______________________________\n");
}
fclose(fich);
ProcesoCobro();
}
void ProcesoCobro(){
FILE *fich;
DATO e;
int op,cant; //Opcion que se quiere vender y la cantidad , de lo que se va a vender
int pedidos[10],cantidad[10],contador=0; //en los arreglos es donde se almacena , los ID, de lo que el cliente pide *-*
float efectivo=0,subtotal=0,iva=0,total=0; //aki es donde se calcula sus respectivos valores de cobro y el efectivo es lo que el cliente da *-*
if((fich = fopen("MenuDiario","rb")) == NULL){
printf("Fichero no existe! ");
}else{
printf("\nSi ya no desea pedir mas solo marque la opcion 0 \n");
do{
contador++;
printf("\n Pedido --> #%i: ",contador);
scanf("%i",&op);
if(op != 0){
pedidos[contador] = op;
printf("\n Cantidad del Pedido --> #%i: ",contador);
scanf("%i",&cant);
cantidad[contador] = cant;
}
}while(op != 0);
contador = 0;
system("cls");
fread(&e,sizeof(e),1,fich);
while(!feof(fich)){
contador++;
if(pedidos[contador] == e.id){
printf("\n\t*%i......%s........:$%.2f = $%.2f",cantidad[contador],e.nom,e.precio,(cantidad[contador] * e.precio));
subtotal = subtotal + (cantidad[contador] * e.precio);
}
fread(&e,sizeof(e),1,fich);
}
iva = (subtotal * 12) / 100;
total = subtotal + iva;
printf("\n\n");
printf("\tSUBTOTAL....................: $%.2f \n",subtotal);
printf("\tIVA.........................: $%.2f \n",iva);
printf("\tTOTAL.......................: $%.2f \n",total);
printf("\n\n");
printf("\tRecibido....................: $");
scanf("%f",&efectivo);
printf("\n\tCAMBIO......................: $%.2f \n",(efectivo - total));
printf("\n\n\t
...