char = Caracter, pero solo 1. Por ejemplo 'c'
char* = Puntero a caracter, te permitiria tener mas de uno seguido, es decir una cadena. Por ejemplo : "Paco Jemez".
Te recomiendo usar punteros a estructuras.
Supongo que descripcion y proveedor seran cadenas :
typedef struct
{
int codigo;
char descripcion[200];
float precio;
char proveedor[200];
int baja; // ¿Que es esto ?
int stock; // stock >= 0
int stock_max;
int stock_min;
}stock, *pstock;
typedef struct
{
char pedidos_proveedor; // ¿ Que es esto ?
int idpedido;
int pedido; // ¿ Para que lo necesitas teniendo un id ?
} almacen,*palmacen;
Para manejar punteros :
pstock elStock;
elStock->precio = 3.0;
La mitad de las cosas no se para que las tienes, pero bueno, si lo que necesitas guardar es
1 - El estado del almacen y el listado de pedidos sobre piezas con precio hechos por proveedores:
/* Pedido tb puedes verlo como a quien haces el pedido. poniendo cantidades positivas al comprar y negativas al vender. */
typedef struct{
int idProveedor; // Quien te hace el pedido
int idPieza; // De que pieza
int cantidad; // Cuantas compra
}pedido, *ppedido;
/* Informacion de los proveedores */
typedef struct {
char nombreProveedor[200];
int vende[MAX_PIEZAS]; // Que piezas vende, podrias guardarlo en una lista dinamica si te parece mejor.
float precios[MAX_PIEZAS]; // Precios de las piezas que vende indexado por idpieza.
}proveedor, *pproveedor;
/* Informacion de una pieza /
typedef struct{
int codigoPieza; // Codigo de la pieza, puedes obviarlo y que sea el mismo idpieza.
char nombrePieza[50]; // Nombre de la pieza.
float pvp;
int stock_maximo; // Cuantas puede haber en el almacen
int cantidad; // Cuantas tenemos
} pieza,ppieza;
/* Informacion del almacen */
typedef struct{
pieza piezas[MAX_PIEZAS]; // Cuantas unidades hay de cada pieza en el almacen.
int stock_de_seguridad;
} almacen, *palmacen;
Y luego necesitarias:
almacen elAlmacen;
proveedor misProveedores[MAX_PROVEEDORES];
Lista_Pedidos pedidos; // Puedes tener un vector pero vamos para esto ya seria demasiado.
// Este ultimo podrias tenerlo dentro del almacen.
Inicializas las piezas del almacen y proveedores.
Que puedan añadir piezas nuevas, y quitarlas... pues o le pones cantidad=0 , o reorganizas vectores, no he puesto listas ni arboles ni nada por el estilo porque imagino que sera demasiado no ?