//---------------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define NSUCURSALES 8
#define NDEPARTAMENTOS 6
#define NVENDEDORES 4
#define NDIAS 7
//---------------------------------------------------------------------------
int guardar(int compania[NSUCURSALES][NDEPARTAMENTOS][NVENDEDORES][NDIAS],char *ruta);
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
int compania[NSUCURSALES][NDEPARTAMENTOS][NVENDEDORES][NDIAS];
memset(&compania,0,sizeof(compania));
//Prueba para meter algunos datos de ventas
//Tu tendrás que elegir como haces para rellenar esos datos
//Si los pides usando el teclado o lo que sea
compania[7][5][3][0]=1525;
compania[7][5][1][6]=525;
compania[7][5][1][4]=150;
compania[7][5][3][4]=1050;
compania[1][5][1][4]=150;
compania[7][4][1][4]=150;
//Guardo en un archivo todo el reporte
if(guardar(compania,"Salida.txt")==0)
printf("Guardado satisfactorio.\n");
else
printf("Huvo un error al guardar el reporte\n");
system("PAUSE");
return 0;
}
//---------------------------------------------------------------------------
int guardar(int compania[NSUCURSALES][NDEPARTAMENTOS][NVENDEDORES][NDIAS],char *ruta)
{
FILE *archivo;
int indexSucursal,indexDepartamento,indexVendedor,indexDia;
int totalVendedor,totalDepartamento,totalSucursal,totalDepartamentoDia[7],totalGeneralDia[7];
int retval;
struct{
int Sucursal;
int Ventas;
}MejorSucursal;
struct{
int Sucursal;
int Departamento;
int Ventas;
}MejorDepartamento;
struct{
int Sucursal;
int Departamento;
int Vendedor;
int Ventas;
}MejorVendedor;
MejorVendedor.Ventas=0;
archivo=fopen(ruta,"w");
if(archivo != NULL){
memset(totalGeneralDia,0,sizeof(totalGeneralDia));
fprintf(archivo,"-------------------------\n");
fprintf(archivo,"REPORTE SEMANAL DE VENTAS\n");
MejorSucursal.Sucursal=0;
MejorSucursal.Ventas=0;
for(indexSucursal=0;indexSucursal < NSUCURSALES;indexSucursal++){
fprintf(archivo,"-------------------------\n");
fprintf(archivo,"Sucursal %d\n",indexSucursal+1);
MejorDepartamento.Ventas=0;
MejorDepartamento.Departamento=0;
totalSucursal=0;
for(indexDepartamento=0;indexDepartamento < NDEPARTAMENTOS;indexDepartamento++){
fprintf(archivo,"-------------------------\n");
fprintf(archivo,"Departamento %d\n",indexDepartamento+1);
fprintf(archivo,"-------------------------\n");
fprintf(archivo," ");
for(indexDia=0;indexDia < NDIAS;indexDia++)
fprintf(archivo," Dia %d",indexDia+1);
fprintf(archivo," TOTAL\n");
memset(totalDepartamentoDia,0,sizeof(totalDepartamentoDia));
totalDepartamento=0;
for(indexVendedor=0;indexVendedor < NVENDEDORES;indexVendedor++){
fprintf(archivo,"Vendedor %d ",indexVendedor+1);
totalVendedor=0;
for(indexDia=0;indexDia < NDIAS;indexDia++){
totalVendedor += compania[indexSucursal][indexDepartamento][indexVendedor][indexDia];
fprintf(archivo,"%8d",compania[indexSucursal][indexDepartamento][indexVendedor][indexDia]);
totalDepartamentoDia[indexDia] += compania[indexSucursal][indexDepartamento][indexVendedor][indexDia];
totalGeneralDia[indexDia] += compania[indexSucursal][indexDepartamento][indexVendedor][indexDia];
totalDepartamento += compania[indexSucursal][indexDepartamento][indexVendedor][indexDia];;
if(totalVendedor > MejorVendedor.Ventas){
MejorVendedor.Sucursal=indexSucursal;
MejorVendedor.Departamento=indexDepartamento;
MejorVendedor.Vendedor=indexVendedor;
MejorVendedor.Ventas=totalVendedor;
}
}
if(MejorDepartamento.Ventas < totalDepartamento){
MejorDepartamento.Ventas = totalDepartamento;
MejorDepartamento.Departamento = indexDepartamento;
MejorDepartamento.Sucursal = indexSucursal;
}
fprintf(archivo,"%8d\n",totalVendedor);
}
totalSucursal += totalDepartamento;
fprintf(archivo,"Totales ");
for(indexDia=0;indexDia < NDIAS;indexDia++)
fprintf(archivo,"%8d",totalDepartamentoDia[indexDia]);
fprintf(archivo,"\n\n");
if(MejorSucursal.Ventas < totalSucursal){
MejorSucursal.Ventas = totalSucursal;
MejorSucursal.Sucursal = indexSucursal;
}
}
}
fprintf(archivo,"Total General\n");
fprintf(archivo,"de Produccion ");
for(indexDia=0;indexDia < NDIAS;indexDia++)
fprintf(archivo,"%8d",totalGeneralDia[indexDia]);
fprintf(archivo,"\n\n");
fprintf(archivo,"El departamento que mas vendio fue el %d de la sucursal %d y vendio %d\n",MejorDepartamento.Departamento+1,MejorDepartamento.Sucursal+1, MejorDepartamento.Ventas);
fprintf(archivo,"La sucursal con mejores ventas es la %d y vendio %d\n",MejorSucursal.Sucursal+1,MejorSucursal.Ventas);
fprintf(archivo,"El mejor vendedor es el %d del departamento %d de la sucursal %d y vendio %d\n",MejorVendedor.Vendedor+1,MejorVendedor.Departamento+1,MejorVendedor.Sucursal+1,MejorVendedor.Ventas);
fclose(archivo);
retval=0;
}else{
retval=-1;
}
return retval;
}
//---------------------------------------------------------------------------