Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct materiales{
int codart, stock, stockmin;
char desc[20];
float precio;
};
struct ventas{
int cod,cant;
};
//ACA YO CARGO EL ARCHIVO AMTERIALES
main(){
FILE *materiales;
FILE *archivoventa;
fpos_t pos;
int op;
struct materiales mat;
struct ventas ven;
if((materiales=fopen("materiales.dat","wb"))!=NULL){
do{
printf("\n\tIngrese el codigo del articulo");
scanf("%d", &mat.codart);
printf("\n\tIngrese un breve descripcion");
getchar();
gets(mat.desc);
printf("\n\tIngrese stock actual del articulo");
scanf("%d", &mat.stock);
printf("\n\tIngrese stock minimo");
scanf("%d", &mat.stockmin);
printf("\n\tPor utimo ingrese precio");
scanf("%f", &mat.precio);
fwrite(&mat,sizeof(mat),1,materiales);
printf("\n\t¿Desea ingresar otro articulo? [1]-para SI // [0]-Para NO");
scanf("%d", &op);
}while(op!=0);
}else{
printf("\n\nError de archivo");
}
fclose(materiales);
//ACA YO CARGO EL ARCHIVO VENTAS
int opc;
if((archivoventa=fopen("ventas.dat","wb"))!=NULL){
do{
printf("\n\tIngrese codigo del articulo");
scanf("%d", &ven.cod);
printf("\n\tIngrese cantidad vendida del articulo");
scanf("%d", &ven.cant);
fwrite(&ven,sizeof(ven),1,archivoventa);
printf("\n\t¿Desea registrar otra venta? [1]-Para SI // [0]-Para NO");
scanf("%d", &opc);
}while(opc!=0);
}else{
printf("\nError de archivo");
}
fclose(archivoventa);
//ACA ES DONDE ESTA LA FALLA
if((archivoventa=fopen("ventas.dat","rb"))!=NULL){
if((materiales=fopen("materiales.dat","r+b"))!=NULL){
fread(&ven,sizeof(ven),1,archivoventa);
while(!feof(archivoventa)){
fread(&mat,sizeof(mat),1,materiales);
while(!feof(materiales)){
if(mat.codart==ven.cod){
mat.stock=mat.stock-ven.cant;
printf("\n\nEl stock entonces quedo en %d", mat.stock);
fseek(materiales, -1*(sizeof(mat)),SEEK_CUR);
fwrite(&mat,sizeof(mat),1,materiales);
}
fread(&mat,sizeof(mat),1,materiales);
printf("\nHola");
}
rewind(materiales);
fread(&ven,sizeof(ven),1,archivoventa);
printf("\nHola2");
}
}else{
printf("\nError archivo");
}
fclose(materiales);
}else{
printf("\nError archivo");
}
fclose(archivoventa);
printf("\n\t\tError3");
if((materiales=fopen("materiales.dat","rb"))!=NULL){
fread(&mat,sizeof(mat),1,materiales);
while(!feof(materiales)){
printf("\n\nEl codigo de articulo es %d",mat.codart);
printf("\n\nEl stock actualizado quedo asi %d",mat.stock);
fread(&mat,sizeof(mat),1,materiales);
}
}else{
printf("Error");
}
fclose(materiales);
}