Hola! no te quiero arruinar el regalo pero tenes
varios errores conceptuales. Lo mas raro es que digas "recien estoy aprendiendo vectores", cuando ya estas queriendo manejar archivos... Te marco lo errores que vi:
1º Tenes que revisar como se usa la funcion fwrite(). No podes utilizar sizeof(int) en todos los casos, estas guardando mal.
2º Lo mismo fread
3º En el main cuando elegis la opcion: "1 - Alta de un articulo" ó "3 - Clientes" cerras los archivos(con fclose). El problema es: ¿que pasa si el usuario vuelve a elegir esas opciones? los archivos van a estar cerrados por lo que vas a tener un error cuando quieras volver a guardar algo. Tenes que abrir los archivos antes de elegir esas opciones
4º Con este ciclo: while(nombre != NULL) estas generando un
bucle infinito. No tiene sentido hacer esa comparacion ¿que es lo que querias hacer?
5º En la funcion STOCK() el principal error esta en el uso de fread. Ya que no sabes manejar estructuras, lo que tenes que hacer para cada ciclo de lectura es:
fread(&x
,sizeof(int),1,stock1
); fread(descripcion
,sizeof(descripcion
),1,stock1
); fread(&cantidad
,sizeof(int),1,stock1
); fread(&precio
,sizeof(float),1,stock1
);
Hay muchas cosas que se pueden mejorar aun. Mi consejo es que antes de seguir con esto practiques un poco mas con manejo de archivos, y con estructuras
Saludos