Como bien te dicen veo muy enrevesado el código....
Con crear una structura producto con la cantidad de productos, fecha de vencimiento y nombre del producto, codigo del producto sobraría....
Luego varias funciones:
Añadir Producto (Crea un archivo de texto auxiliar, Compara nombre de productos (por si hay mas del mismo nombre suma 1 en las cantidades y compara las fechas con todos los productos para que todos los que venzan antes se guarden antes , y le pone en codigo del producto el numero de posicion en el que guarde)
De está forma te deja con numeros enteros ordenados todos los produzcos por fecha y con códigos de su posicion en el archivo 1,2,3,4,5,6..... etc
Dar de baja producto. Simplemente buscar ese producto con ese codigo y borrarlo, y compar ese nombre con todos los demás archivos por si hay mas iguales restarle uno en cantidad de producto, y volver a guardar en los archivos "reponiendo los codigos":
Vender producto. Básicamente sería la misma funcion que dar de baja...
Listar productos. Te los lista TODOS...
Aqui Pues te lo curras un poquito y si va por codigos cada pasillo tiene 32 posiciones.
Es decir:
Del 1-4 pasillo 1(ROJO; AMARILLO o como lo quieras llamar), primera estanteria , primera fila, columna 1, 2, 3, 4 (segun sea)
del 5-8 pasillo 1,primera estanteria 2 fila, columna 1(5) 2(6) 3 (7) 4(8)
y asi..... cuando pases del 16 significa que estas en la segunda estanteria.... CUando pases del numero 32 significa que estas en el 2º pasillo.... y asi.
Ahora solo falta buscar para resolver que segun el numero te de el pasillo , fila, y columna...
Que va mas o menos todo en funcion de multiplos 4 y el resto de dividir entre 4.
Con crear una structura producto con la cantidad de productos, fecha de vencimiento y nombre del producto, codigo del producto sobraría....
Luego varias funciones:
Añadir Producto (Crea un archivo de texto auxiliar, Compara nombre de productos (por si hay mas del mismo nombre suma 1 en las cantidades y compara las fechas con todos los productos para que todos los que venzan antes se guarden antes , y le pone en codigo del producto el numero de posicion en el que guarde)
De está forma te deja con numeros enteros ordenados todos los produzcos por fecha y con códigos de su posicion en el archivo 1,2,3,4,5,6..... etc
Dar de baja producto. Simplemente buscar ese producto con ese codigo y borrarlo, y compar ese nombre con todos los demás archivos por si hay mas iguales restarle uno en cantidad de producto, y volver a guardar en los archivos "reponiendo los codigos":
Vender producto. Básicamente sería la misma funcion que dar de baja...
Listar productos. Te los lista TODOS...
Aqui Pues te lo curras un poquito y si va por codigos cada pasillo tiene 32 posiciones.
Es decir:
Del 1-4 pasillo 1(ROJO; AMARILLO o como lo quieras llamar), primera estanteria , primera fila, columna 1, 2, 3, 4 (segun sea)
del 5-8 pasillo 1,primera estanteria 2 fila, columna 1(5) 2(6) 3 (7) 4(8)
y asi..... cuando pases del 16 significa que estas en la segunda estanteria.... CUando pases del numero 32 significa que estas en el 2º pasillo.... y asi.
Ahora solo falta buscar para resolver que segun el numero te de el pasillo , fila, y columna...
Que va mas o menos todo en funcion de multiplos 4 y el resto de dividir entre 4.