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
Excelente, felicidades!
ResponderEliminarPerdón por la ignorancia pero a que se refiere con utilidad del producto????
ResponderEliminar