#include <conio.h>#include <string.h>#include <stdio.h>//FUNCIONESvoid adicionar();void consultar();void listar();void facturar();void salir ();int N, y, x, i;struct ferreteria { char Nombre[50]; int codigo; int valorventa; int valorcompra; int exismin; int exis;} V[100]; int main(){ int op; system("color 04"); //MENU do { system ("cls"); printf("\n\n\t\t**** FERRETERIA ****"); printf("\n\n\t\t+*+*+*+ MENU PRINCIPAL +*+*+*+* \n\n"); printf("1. Adicionar producto\n"); printf("2. Consultar informacion Completa sobre un producto\n"); printf("3. Facturar \n"); printf("4. Listar\n"); printf("5. SALIR\n"); printf("\nDigite su opcion: "); scanf("%d",op); switch (op) { case 1: adicionar(); printf("\n\t"); system ("PAUSE"); break; case 2: consultar(); printf("\n\t"); system ("PAUSE"); break; case 3: facturar(); printf("\n\t"); system ("PAUSE"); break; case 4: listar(); printf("\n\t"); system ("PAUSE"); break; case 5: system ("cls"); printf("\a\n\n\n\t\t*+*+*+ GRACIAS POR USAR ESTE PROGRAMA *+*+*+"); getch(); return 0; break; default: printf("\n\tOPCION NO VALIDA."); } } while(1); getch(); return 0;}//************************* FUNCIONES *************************void adicionar(){ int op,p,n; system ("cls"); printf("\n\n\t\t+++ MENU +++\n\n"); printf("1. Adicionar producto\n"); printf("2. Adicionar existencia a un producto\n"); printf("3. Salir\n"); printf("\nDigite su opcion: "); scanf("%d",op); switch (op) { case 1: system ("cls"); printf("\n\nDigite el numero de productos a registrar: "); scanf("%d",N); system ("cls"); for(x=0;x<N;x++) { printf("\n\n\t\t++++NUEVO PRODUCTO++++"); printf("\nDigite el codigo del producto: "); scanf("%d",V.codigo); printf("\nDigite nombre del producto: "); scanf("%S",V.Nombre); printf("\n\n RECUERDE QUE EL VALOR DE VENTA DEBE SER MAYOR, O IGUAL QUE EL DE COMPRA"); printf("\n\n\t PARA NO TENER PERDIDAS!!!"); printf("\n\nDigite valor venta del producto: "); scanf("%d",V.valorventa); printf("\nDigite valor compra del producto: "); scanf("%d",V.valorcompra); printf("\nDigite existencia del producto: "); scanf("%d",V.exis); printf("\nDigite existencia minima del producto: "); scanf("%d",V.exismin); } break; case 2: system ("cls"); listar (); printf("\ndigite el codigo del producto a adicionar unidades "); scanf("%d",p); printf("\ndigite el numero de unidades a adicionar al producto "); scanf("%d",n); for(i=0;i<N;i++){ if(V.codigo==p){ V.exis = V.exis + n; } } break; case 3: break; default: printf("\n\tOPCION NO VALIDA. "); getch(); } }//************************************************************************** void consultar(){ int p; system ("cls"); listar(); printf("\n\ndigite el codigo del producto a consultar: "); scanf("%d",p); system ("cls"); for(i=0;i<N;i++){ if(V.codigo == p){ printf(" \n CODIGO: %i",V.codigo); printf(" \n NOMBRE: %i",V.Nombre); printf(" \n VALOR DE VENTA: %i",V.valorventa); printf(" \n VALOR DE COMPRA: %i",V.valorcompra); printf(" \n EXISTENCIA: %i",V.exis); printf(" \n EXISTENCIA MINIMA EN BODEGA: %i",V.exismin); if (V.exis <= V.exismin){ printf("\a\a\n\n\t\a\a **DEBE COMPRAR MAS DE ESTE PRODUCTO**"); } } } }//*****************************************************************************void facturar(){ int a,b,c,d,opc; do{ listar(); printf("\ndigite el codigo del producto a facturar: "); scanf("%d",a); system ("cls"); for(i=0;i<N;i++){ if (V.codigo==a){ if (V.exis==0){ printf("\n\n"); printf("EL PRODUCTO %s SE ENCUENTRA AGOTADO EN ESTOS MOMENTOS",V.Nombre); }else { printf("\ncuantos desea comprar de %s, la cant existente es de %i : ",V.Nombre, V.exis); scanf("%d",b); V.exis = V.exis-b; c = V.valorventa*b; printf("\nse acaba de adquirir %i %s por valor total de $ %i",b,V.Nombre,c); } }} printf("\n\nDesea facturar otro producto? (si=1 no=0): "); scanf("%d",opc); }while (opc==1); }//****************************************************************************** void listar(){ system ("cls"); printf("\n\t\t****PRODUCTOS****"); printf("\n\n CODIGO \t\t NOMBRE "); for(i=0;i<N;i++){ printf("\n\n %i \t\t\t %s ",V.codigo, V.Nombre); } }//****************************************************************************
//Incorrecto, necesitas la direccion de op, se obtiene por medio de &scanf("%d", op);//Correctoscanf("%d", &op);