Nothing Special   »   [go: up one dir, main page]

Metodo Ueps

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 4

#include <conio.h> #include <stdio.h> #include <stdlib.

h> struct fec{ int dia,mes,anio; }; struct registro{ int id,cantidad; fec fecha; float costo,valorizado; }; void push(int *tope,registro temporal,registro pila[10]) { if (*tope==10) printf("El Maximo de Registros es de 10 y esta lleno"); else { *tope=*tope+1; pila[*tope].id=temporal.id; pila[*tope].fecha.dia=temporal.fecha.dia; pila[*tope].fecha.mes=temporal.fecha.mes; pila[*tope].fecha.anio=temporal.fecha.anio; pila[*tope].cantidad=temporal.cantidad; pila[*tope].costo=temporal.costo; pila[*tope].valorizado=temporal.valorizado; } } void pop(int *tope,registro pila[10],int *salida,int *sobrante, float acumulador ) { if (*tope<0) { printf("No Hay Registros Ingresados en la Pila\nDebe ingresar un Registr o Primero\n"); *sobrante=0; } else { if (*salida > acumulador) { printf("La cantidad que usted desea sacar exede al inventario actual\nla cantiada mas grande que puede sacar es %g ",acumulador); *sobrante=0; } else if (*salida == pila[*tope].cantidad) { printf("Se Sacaron %d a un costo de Q. %g\n",*salida,pila[*tope].costo ); *tope=*tope-1; *sobrante=0; } else if (*salida > pila[*tope].cantidad) { if(*tope==0) {

printf("Solo Puede Sacar %d a un costo de Q. %g\n",pila[*tope].ca ntidad,pila[*tope].costo); *sobrante=0; } else { printf("Se Sacaron %d a un costo de Q. %g\n",pila[*tope].cantidad ,pila[*tope].costo); *sobrante=(*salida-pila[*tope].cantidad); *tope=*tope-1; } } else { printf("Se Sacaron %d a un costo de Q. %g\n",*salida,pila[*tope].cost o); pila[*tope].cantidad=(pila[*tope].cantidad-*salida); pila[*tope].valorizado=(pila[*tope].cantidad*pila[*tope].costo); *sobrante=0; } } } void main() { system("color 3b"); int i,opcion,salida,sobrante,max=10,min=-1; float acumulador=0; char entrar='s'; registro temporal,pila[10]; while (entrar=='s') { do { system("cls"); printf("\t*****MENU DE OPCIONES*****\n\n"); printf("\t\t1. Ingreso de Datos\n"); printf("\t\t2. Mostrar Datos en la Pila\n"); printf("\t\t3. Salida de Datos\n"); printf("\t\t4. Salir del Programa\n"); printf("\t\t\t[ ]");gotoxy(28,7);scanf("%d",&opcion); }while(opcion<1 opcion>4); switch (opcion) { case 1: system("cls"); printf("**********Ingrese Datos a la Pila*************\n\n"); printf("Ingrese el Id :"); scanf("%d",&temporal.id); printf("***Ingrese la Fecha**\n"); do{printf("Dia: "); scanf("%d",&temporal.fecha.dia); }while(temporal.fecha.dia<1 temporal.fecha.dia>31); do{printf("Mes: "); scanf("%d",&temporal.fecha.mes); }while(temporal.fecha.mes<1 temporal.fecha.mes>12); do{printf("A%co: ",-92); scanf("%d",&temporal.fecha.anio); }while(temporal.fecha.anio<2000 temporal.fecha.anio >2020); printf("Igrese la Cantidad :");

scanf("%d",&temporal.cantidad); printf("Ingrese el Costo :"); scanf("%g",&temporal.costo); printf("El Total Valorizado es : %g\n\n",(temporal.cantidad*temp oral.costo)); temporal.valorizado=(temporal.cantidad*temporal.costo); push(&min,temporal,pila); getch(); break; case 2: system("cls"); if (min<0) { printf("No Hay Registros Ingresados en la Pila\nDebe ingresar un Registro Primero\n"); } else { acumulador=0; for(i=0;i<=min;i++) { printf("Id : %d\n",pila[i].id); printf("Fecha: %d/%d/%d\n",pila[i].fecha.dia,pil a[i].fecha.mes,pila[i].fecha.anio); printf("Cantidad: %d\n",pila[i].cantidad ); printf("Costo: %g\n",pila[i].costo); printf("Total Valorizado: %g\n\n",pila[i].valori zado); acumulador=acumulador + pila[i].valorizado; } printf("El Total de Inventario Valorizado es de Q. %g\n\n",acumulad or); } getch(); break; case 3: system("cls"); do{ printf("**********Salidad de Datos*************\n\n"); acumulador=0; for(i=0;i<=min;i++) { acumulador=acumulador + pila[i].cantidad; } printf("El Total de Inventario es de %g Unidades\ndel cual usted puede disponer\n\n",acumulador); printf("Ingrese la Candidas para la Salida\n"); printf("\t\t\t[ ]");gotoxy(28,7);scanf("%d",&salida); system("cls"); }while (salida<1); sobrante=1; while (sobrante!=0) { pop(&min,pila,&salida,&sobrante,acumulador); salida=sobrante; } getch(); break; case 4:

exit(0); } system("cls"); printf("Si desea realizar otra opcion precione s : "); scanf("%c",&entrar); } }

También podría gustarte