Jump to content

ayuda con este programa lml


Recommended Posts

me arroja basura en producto[0].cod_producto

 

#include <stdio.h>
#include <string.h>
#define CANT_PRODUCTO 3
#define CANT_VENDEDORES 3

int i=0, j, total_ventasconiva=0;

main()
{
FILE *productos, *ventas, *vendedores, *informe;
struct producto
{
	int cod_producto, valor_u;
	char nom_producto[21];
};

struct venta
{
	int cod_producto_ventas, cant_uvendidos, total_v, total_coniva;
	char rut_vendio[11];
};

struct vendedor
{
	char rut_vendedor[11], nom_vendedor[11], apell_vendedor[11];

};

struct producto producto[CANT_PRODUCTO];
struct venta venta[CANT_PRODUCTO];
struct vendedor vendedor[CANT_VENDEDORES];

productos = fopen("productos.dat","r");
ventas = fopen("ventas.dat","r");
vendedores = fopen("vendedores.dat","r");
if(productos != NULL && ventas != NULL && vendedores != NULL)
{
	informe = fopen("informe.txt","w");

	while((feof(productos) == 0) && (feof(ventas) == 0) && (feof(vendedores) == 0))
	{
		fscanf(productos,"%4d%20s%6d", &producto[i].cod_producto, producto[i].nom_producto, &producto[i].valor_u);
		fscanf(ventas,"%4d%4d%10s", &venta[i].cod_producto_ventas, &venta[i].cant_uvendidos, venta[i].rut_vendio);
		fscanf(vendedores,"%10s%10s%10s", vendedor[i].rut_vendedor, vendedor[i].nom_vendedor, vendedor[i].apell_vendedor);
		i=i+1;
	}

	for(i=0; i<CANT_PRODUCTO; i++);
	{
		for(j=0; j<CANT_PRODUCTO; j++);
		{
			if(venta[i].cod_producto_ventas == producto[j].cod_producto)
			{
				venta[i].total_v = producto[j].valor_u * venta[i].cant_uvendidos;
			}
		}
		venta[i].total_coniva = venta[i].total_v + (18 * venta[i].total_v / 100);
		total_ventasconiva = total_ventasconiva + venta[i].total_coniva;
	}

	fprintf(informe,"VENTAS DEL PRODUCTO EN EL MES:\n\n");
	fprintf(informe,"Codigo Producto   Nombre Producto   Unidades Vendidas   Total Venta   Total Venta+IVA\n");

	for(i=0; i<CANT_PRODUCTO; i++)
	{
		printf("%d %-20s\n",producto[i].cod_producto, producto[i].nom_producto);
	}



	fclose(productos);
	fclose(ventas);
	fclose(vendedores);
	fclose(informe);
}
else
{
	printf("error en la apertura de los archivos");
}
}

Edited by sinetik
Link to comment
Share on other sites

A simple vista no se ve ningún error...podrías postear el contenido del archivo productos.dat asi hago uan versión más pequeña de tu prog en mi casa(porque sólo usaria productos.dat) y veo si me pasa lo mismo.

 

 

Saludos :krider:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...