Primero que nada me presento, soy estudiante de Ing. en Sistemas en primer año. Estamos viendo C con Dev C++.
Recien aprendo esto en la facultad y logre todo exepto pasar los maximos y minimos. Lo hize en una función todo junto (maximo) pero me tira error.
Código C:
Ver original#include <stdio.h>
#include <conio.h>
//Void
void Cantavend (int, int, int);
void sucmax (int, float);
void sucrecmenos (int, float);
void gansuc(float, float, float, float, float);
void porrec(float, float, float, float);
void tickme(int, float);
void Imprimir (int);
void procav (float, float, float, float, float);
void Suma (int*, int);
void Suma2(float*, float);
void maximo(int, float*, float, int*, float, float*, float, int*, int, int*, int, float*);
//Float
float descuento (float a);
float gsuca (float);
float promedio (float, float);
float promediotot (float, float);
int main ()
{
int tick,ca,npel,nsuc,turno,catm,catn,catt,cont,tots1,tots2,tots3,tots4,tots5,pg,aux,aux2,aux3; //Variables Enteras
float pr,recp1,recp2,recp3,recp4,recs1,recs2,recs3,recs4,recs5,tickmin,gsuc1,gsuc2,gsuc3,gsuc4,gsuc5,totrecp,totfinal,prom1,prom2,prom3,prom4,proms1,proms2,proms3,proms4,proms5,pmaxr,sucminr; //Variables Flotantes
tick=ca=npel=nsuc=turno=catm=catn=catt=cont=tots1=tots2=tots3=tots4=tots5=pg=aux=aux2=aux3=0;
pr=recp1=recp2=recp3=recp4=recs1=recs2=recs3=recs4=recs5=tickmin=gsuc1=gsuc2=gsuc3=gsuc4=gsuc5=totrecp=totfinal=prom1=prom2=prom3=prom4=proms1=proms2=proms3=proms4=proms5=pmaxr=sucminr=0;
printf("Ingrese numero de ticket "); while (tick!=0) //Comienzo del ciclo
{
printf("\nIngrese numero de sucursal "); printf("\nIngrese cantidad de asientos "); printf("\n1=Belleza americana \n2=El informante \n3=La hija del general \n4=Al filo de la muerte \n\nIngrese numero de pelicula "); printf("\n1=Turno Mañana \n2=Turno Tarde \n3=Turno Noche \n\nIngrese numero de turno ");
if (ca > 8) //Verificar descuento
{
pr=descuento(ca);
}
if (ca<=8)
{
pr=ca*7;
}
switch (turno) //Categoría Turno
{
case 1:Suma(&catm,ca);
break;
case 2:Suma(&catt, ca);
break;
case 3:Suma(&catn,ca);
break;
}
switch (npel) //Categoría pelicula
{
case 1:Suma2(&recp1,pr);
break;
case 2:Suma2(&recp2,pr);
break;
case 3:Suma2(&recp3,pr);
break;
case 4:Suma2(&recp4,pr);
break;
}
switch (nsuc) //Categoría numero de sucursal
{
case 1:Suma2(&recs1,pr);
Suma(&tots1,ca);
break;
case 2:Suma2(&recs2,pr);
Suma(&tots2,ca);
break;
case 3:Suma2(&recs3,pr);
Suma(&tots3,ca);
break;
case 4:Suma2(&recs4,pr);
Suma(&tots4,ca);
break;
case 5:Suma2(&recs5,pr);
Suma(&tots5,ca);
break;
}
cont=cont+1;
maximo(cont, &pmaxr, recp1, &aux, npel, &tickmin, pr, &aux2, tick, &aux3, nsuc, &sucminr);
if (turno == 2 && nsuc == 3 && npel == 2) //Pelicula 2, Sucursal 3, Turno Tarde
{
Suma(&pg,ca);
}
printf("\nIngrese numero de ticket "); }
// Fin del ciclo
//Operaciones
gsuc1=gsuca(recs1);
gsuc2=gsuca(recs2);
gsuc3=gsuca(recs3);
gsuc4=gsuca(recs4);
gsuc5=gsuca(recs5);
totrecp=recp1+recp2+recp3+recp4;
prom1=promedio(recp1,totrecp);
prom2=promedio(recp2,totrecp);
prom3=promedio(recp3,totrecp);
prom4=promedio(recp4,totrecp);
totfinal=tots1+tots2+tots3+tots4+tots5;
proms1=promediotot(tots1,totfinal);
proms2=promediotot(tots2,totfinal);
proms3=promediotot(tots3,totfinal);
proms4=promediotot(tots4,totfinal);
proms5=promediotot(tots5,totfinal);
//Resultados
Cantavend(catm,catt,catn);
sucmax(aux,pmaxr);
sucrecmenos(aux3,sucminr);
gansuc(gsuc1,gsuc2,gsuc3,gsuc4,gsuc5);
porrec(prom1,prom2,prom3,prom4);
tickme(aux2,tickmin);
Imprimir(pg);
procav(proms1,proms2,proms3,proms4,proms5);
return 0;
}
float descuento(float a)
{
float b;
b=(a*7)*0.9;
return b;
}
float gsuca(float a)
{
float b;
b=a*0.2;
return b;
}
float promedio(float a, float b)
{
float c;
c=(a*100)/b;
return c;
}
float promediotot (float a, float b)
{
float c;
c=(a*100)/b;
return c;
}
void Cantavend (int a, int b, int c)
{
printf("La cantidad de asientos vendidos en el turno mañana es %d,en el turno tarde %d, y en el noche %d \n\n",a
,b
,c
); }
void sucmax (int a, float b)
{
printf("La pelicula de mayor recaudacion es la nro %d, que recaudo %5.2f \n\n",a
,b
); }
void sucrecmenos (int a, float b)
{
printf("La sucursal que recaudo menos fue la numero %d, con un total de %5.2f \n\n",a
,b
); }
void gansuc (float a, float b, float c, float d, float e)
{
printf("Lo que gano cada sucursal es: \n1.%5.2f \n2. %5.2f \n3.%5.2f \n4.%5.2f \n5.%5.2f \n\n",a
,b
,c
,d
,e
); }
void porrec(float a, float b, float c, float d)
{
printf("El porcentaje recaudado de cada pelicula sobre el total es: \n1. %5.2f \n2. %5.2f \n3. %5.2f \n4. %5.2f \n\n",a
,b
,c
,d
); }
void tickme (int a, float b)
{
printf("El ticket de menor valor es el nro %d, con un valor de %5.2f \n\n",a
,b
); }
void Imprimir (int a)
{
printf("La cantidad de asientos vendidos para la pelicula 2, la sucursal 3 y turno tarde es %d \n\n",a
);
}
void procav (float a, float b, float c, float d, float e)
{
printf("El promedio de asiento vendidos para cada sucursal es: \n1. %5.2f \n2. %5.2f \n3. %5.2f \n4. %5.2f \n5. %5.2f \n\n",a
,b
,c
,d
,e
); }
void Suma (int*a, int b)
{
*a=*a+b;
}
void Suma2 (float*a, float b)
{
*a=*a+b;
}
void maximo(int cont, float *pmaxr, float recp1, int *aux, float npel, float *tickmin, float pr, int *aux2, int tick, int *aux3, int nsuc, float *sucminr)
{
if (cont==1)
{
*tickmin=pr;
*aux2=tick;
*aux3=nsuc;
*pmaxr=0;
*sucminr=pr;
}
if (recp1>pmaxr)
{
*pmaxr=recp1;
*aux=npel;
}
if (recp2>pmaxr)
{
*pmaxr=recp2;
*aux=npel;
}
if (recp3>pmaxr)
{
*pmaxr=recp3;
*aux=npel;
}
if (recp4>pmaxr)
{
*pmaxr=recp4;
*aux=npel;
}
if (pr < tickmin)
{
*tickmin=pr;
*aux2=tick;
}
if(recs1<sucminr&&recs1>0||recs1==sucminr+pr)
{
*sucminr=recs1;
*aux3=nsuc;
}
if(recs2<sucminr&&recs2>0||recs2==sucminr+pr)
{
*sucminr=recs2;
*aux3=nsuc;
}
if(recs3<sucminr&&recs3>0||recs3==sucminr+pr)
{
*sucminr=recs3;
*aux3=nsuc;
}
if(recs4<sucminr&&recs4>0||recs4==sucminr+pr)
{
*sucminr=recs4;
*aux3=nsuc;
}
if(recs5<sucminr&&recs5>0||recs5==sucminr+pr)
{
*sucminr=recs5;
*aux3=nsuc;
}
}
Saludos.