#include <stdio.h>
#include <stdlib.h>
typedef struct Bodega{
char Nombre_producto;
int codigo_barras;
int cantidad;
float precio;
}Producto;
int Pedir_cantidad();
Producto Agregar_producto();
void Mostrar_productos(Producto *productos,int Num_productos);
void Mostrar_producto(Producto *productos,int posicion);
int Busqueda(Producto *productos,int Codigo,int contador);
int main()
{
int Num_productos,eleccion=0,contador_productos=0;
Num_productos=Pedir_cantidad();
Producto productos[Num_productos];
system("cls");
while(eleccion!=4){
printf("Que deseas realizar");
printf("1)Agregar producto");
printf("2)Buscar producto");
printf("3)Mostrar productos");
printf("4)Salir");
scanf("%d",&eleccion);
switch(eleccion){
case 1:{
if(contador_productos==Num_productos){
printf("No es posible agregar mas productos");
}else{
productos[contador_productos]=Agregar_producto();
contador_productos++;
}
break;
}
case 2:{
int buscado,Codigo;
printf("Dame el numero de barras para encontrar el producto");
scanf("%d",&Codigo);
buscado=Busqueda(productos,Codigo,contador_productos);
if(buscado==-1){
printf("Producto no encontrado");
}else{
Mostrar_producto(productos,buscado);
}
break;
}
case 3:{
Mostrar_productos(productos,contador_productos);
break;
}
case 4:{
printf("Adios");
}
return 0;
}
int Pedir_cantidad(){
int cantidad;
printf("Dame la cantidad de productos que deseas agregar a tu tienda");
scanf("%d",&cantidad);
return cantidad;
}
}
Producto Agregar_producto(){
Producto articulo;
printf("Dame el nombre del producto:");
scanf("%s",&articulo.Nombre_producto);
printf("Dame el precio del producto:");
scanf("%f",&articulo.precio);
printf("Dame la cantidad disponible del producto:");
scanf("%d",&articulo.cantidad);
printf("Dame el codigo de barras:");
scanf("%d",&articulo.codigo_barras);
return articulo;
}
void Mostrar_productos(Producto *productos,int Num_productos){
for(int i=0;i<Num_productos;i++){
printf("Producto: %disponible",productos.Nombre_producto);
printf("Precio: %.2f",productos.precio);
printf("Cantidad disponible: %d",productos.cantidad);
printf("Codigo de barras: %d",productos.codigo_barras);
printf("\n");
}
}
void Mostrar_producto(Producto *productos,int posicion){
printf("Producto:%d",productos[posicion].Nombre_producto);
printf("Precio:%.2f",productos[posicion].precio);
printf("Cantidad disponible:%d",productos[posicion].cantidad);
printf("Codigo de barras:%d",productos[posicion].codigo_barras);
printf("\n");
}
int Busqueda(Producto *productos,int Codigo,int contador){
int i=0;
for(i;i<contador;i++){
if(productos.codigo_barras==Codigo){
return i;
}
}
return -1;}