viernes, 9 de diciembre de 2011

Tarea En lenguaje C

Desarrolle un programa en Lenguaje C que gestione un Inventario de 10 artículos. El sistema deberá
presentar al usuario un menú por pantalla de la siguiente manera:
                                                                 Menu
                                      ===========================
                                        1.- Ingresar Producto → [1]
                                        2.- Editar Producto → [2]
                                        3.- Imprimir un Producto → [3]
                                        4.- Imprimir todos los Productos → [4]
                                        5.- Imprimir Valor Inventario de un Producto → [5]
                                        6.- Imprimir Valor Inventario de todos los Productos → [6]
                                        7.- Salir → [7]  


Explicación:
Utilice un arreglo de tipo estructurado donde almacenar los 10 productos con toda su información. Algo
similar a la siguiente figura:

5).- Imprime el valor de inventario de un producto, el cual se calcula como:
              
             Valor = nCos(1+nUti/100) * nQty
6).- Lo mismo que lo anterior, pero para todos los productos (nMAX-1).-
       Se deben sumar todos los valores de inventario por producto.-
7).- Salir: Termina y se sale del programa.-
8).- Todos los datos son ingresados por teclado.

Código de la solución del problema 


#include <stdio.h>
#include <stdlib.h>
#define nMAX 10



struct Ficha
{
char nCod;
char Smam[20];
 int nQty;
 int nCos;
 float nUti;} 

      elnv,alnv[nMAX];

void menu1(void)
{
    
       printf("\n");
       printf("\n");
       printf("Ingrese por favor el nombre del producto:\n");
     scanf(" %[^\n]",elnv.Smam);
       printf("Ingrese porfavor la cantidad de su Producto:\n");
     scanf("%d",&elnv.nQty);
       printf("Ingrese por favor el valor del Producto:\n");
     scanf("%d",&elnv.nCos);
       printf("Ingrese por favor la utilidad del Producto:\n");
     scanf("%f",&elnv.nUti);


for(char i=0; i<nMAX; i++){
    if(alnv[i].nCod==0){
         
       alnv[i]=elnv;
       alnv[i].nCod=i+1;
         
       printf(" Codigo  asignado automaticamente, es: %i \n",i+1);
       i=nMAX;}
     
else if (i==nMAX-1)
printf("Registro  lleno\n");}}


void menu2(void)
{
char nPro;
 printf("\n");
   printf("\n");
    
     printf("Ingrese la Id del Producto que sera  modificado:\n");
     scanf("%d", &nPro);
     if(nPro>=0 && nPro<=10)
    {
     if(alnv[nPro-1].nCod!=0)
    {
        printf("Ingrese el nombre nuevo del producto:\n");
          scanf(" %[^\n]",elnv.Smam);
        printf("Ingrese la nueva cantidad de su Producto:\n");
          scanf("%d",&elnv.nQty);
        printf("Ingrese el nuevo valor de su Producto:\n");
          scanf("%d",&elnv.nCos);
        printf("Ingrese la nueva utilidad de su Producto:\n");
          scanf("%f",&elnv.nUti);
        alnv[nPro-1]=elnv;
        alnv[nPro-1].nCod=nPro;
        printf("El Registro fue modificado correctamente\n");}
        
        else
            printf("Esta vacio el registro\n");}
        else
        printf("No existe el registro\n"); }
        

void menu3(void){
     
   char nPi=0;
    printf("\n");
     printf("\n");
      printf("Ingrese por favor el codigo del Producto a Imprimir:\n");
       scanf("%d",&nPi);
   
if(nPi>0 && nPi<=10){
   nPi--;
   printf(" |-| Codigo |-| Nombre |-| Cantidad |-| Costo |-| Utilidad |-| \n");
   printf(" |-|   %d   |-|   %s   |-|     %d   |-|  %d   |-|  %6.2f   |-| \n", alnv[nPi].nCod, alnv[nPi].Smam, alnv[nPi].nQty, alnv[nPi].nCos, alnv[nPi].nUti);
   }else
       printf("El registro no existe\n");
}

void menu4(void)
{
   printf("\n");
    printf(" |-| Codigo |-| Nombre |-| Cantidad |-| Costo |-| Utilidad |-| \n");
      for(int i=0;i<nMAX;i++){
        
        printf(" |-| %d |-| %s |-| %d |-| %d |-| %6.2f |-| \n", alnv[i].nCod, alnv[i].Smam, alnv[i].nQty, alnv[i].nCos, alnv[i].nUti); }
}

void menu5(void)
{
     char nVin;
     float Valor;
    
    printf("\n");
     printf("\n");
      printf("Ingrese por favor el codigo del Producto que sera imprimido su Valor Inventario\n");
       scanf("%d", &nVin);
     
     if(nVin>=0 && nVin<=10){
   
    nVin--;
    
     Valor = alnv[nVin].nCos*((1+alnv[nVin].nUti/100) * alnv[nVin].nQty);
       printf("el Valor de Inventario del producto %d es %6.2f \n",nVin+1, Valor); }
       
       else
        printf("El registro no existe\n");}
        

void menu6(void){
    
    printf("\n");
     printf("\n");
      for(int i=0;i<nMAX;i++){
              
        float vIn;
         vIn = alnv[i].nCos*((1+alnv[i].nUti/100) * alnv[i].nQty);
           printf("del producto el Valor del Inventario  %d es %6.2f \n",alnv[i].nCod ,vIn);}
           
}

main ()
{
    char ch;
    while(true)
    {
            printf("\n");
            printf("\n");
            
            printf("Este es un programa realizado por maria paz sandoval\n");
            
            printf(" ----MENU---- \n");
             printf("\n");
            printf("<<==========MARIA-PAZ============>>\n");
             printf("\n");            
            printf("1:<<==Ingresar Producto==> [1]\n");
             printf("\n");
            printf("2:<<==Editar Producto==> [2]\n");
             printf("\n");
            printf("3:<<==Imprimir un Producto==> [3]\n");
             printf("\n");
            printf("4:<<==Imprimir todos los Productos==> [4]\n");
             printf("\n");
            printf("5:<<==Imprimir Valor Inventario de un Producto ==>[5]\n");
             printf("\n");
            printf("6:<<==Imprimir Valor Inventario de todos los Productos ==> [6]\n");
             printf("\n");
            printf("7:<<==Salir??? ==>[7]\n");
            scanf( "%d", &ch );
            
        switch (ch)
        {
            case 1:
                menu1();
                break;
            case 2:
                menu2();
                break;
            case 3:
                menu3();
                break;
            case 4:
                menu4();
                break;
            case 5:
                menu5();
                break;
            case 6:
                menu6();
                break;
            case 7:
                exit(0);
        }
    }
system("PAUSE");
}



Salida del programa