Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2012, 17:26
LuckyN
 
Fecha de Ingreso: junio-2012
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Problema Funciones

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.
Dejo el codigo aver si me pueden ayudar:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4.  
  5. //Void
  6. void Cantavend (int, int, int);
  7. void sucmax (int, float);
  8. void sucrecmenos (int, float);
  9. void gansuc(float, float, float, float, float);
  10. void porrec(float, float, float, float);
  11. void tickme(int, float);
  12. void Imprimir (int);
  13. void procav (float, float, float, float, float);
  14. void Suma (int*, int);
  15. void Suma2(float*, float);
  16. void maximo(int, float*, float, int*, float, float*, float, int*, int, int*, int, float*);
  17.  
  18. //Float
  19. float descuento (float a);
  20. float gsuca (float);
  21. float promedio (float, float);
  22. float promediotot (float, float);
  23.  
  24. int main ()
  25. {
  26.     int tick,ca,npel,nsuc,turno,catm,catn,catt,cont,tots1,tots2,tots3,tots4,tots5,pg,aux,aux2,aux3; //Variables Enteras
  27.     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
  28.     tick=ca=npel=nsuc=turno=catm=catn=catt=cont=tots1=tots2=tots3=tots4=tots5=pg=aux=aux2=aux3=0;
  29.     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;
  30.     printf("Ingrese numero de ticket ");
  31.     scanf("%d",&tick);
  32.     while (tick!=0) //Comienzo del ciclo
  33.     {
  34.           printf("\nIngrese numero de sucursal ");
  35.           scanf("%d",&nsuc);
  36.           printf("\nIngrese cantidad de asientos ");
  37.           scanf("%d",&ca);
  38.           printf("\n1=Belleza americana \n2=El informante \n3=La hija del general \n4=Al filo de la muerte \n\nIngrese numero de pelicula ");
  39.           scanf("%d",&npel);
  40.           printf("\n1=Turno Mañana \n2=Turno Tarde \n3=Turno Noche \n\nIngrese numero de turno  ");
  41.           scanf("%d",&turno);
  42.          
  43.           if (ca > 8) //Verificar descuento
  44.           {
  45.                    pr=descuento(ca);
  46.           }
  47.           if (ca<=8)
  48.           {
  49.               pr=ca*7;
  50.           }
  51.          
  52.           switch (turno) //Categoría Turno
  53.           {
  54.                  case 1:Suma(&catm,ca);
  55.                  break;
  56.                  case 2:Suma(&catt, ca);
  57.                  break;
  58.                  case 3:Suma(&catn,ca);
  59.                  break;  
  60.           }
  61.          
  62.           switch (npel) //Categoría pelicula
  63.           {
  64.                  case 1:Suma2(&recp1,pr);
  65.                  break;
  66.                  case 2:Suma2(&recp2,pr);
  67.                  break;
  68.                  case 3:Suma2(&recp3,pr);
  69.                  break;
  70.                  case 4:Suma2(&recp4,pr);
  71.                  break;
  72.           }
  73.          
  74.           switch (nsuc) //Categoría numero de sucursal
  75.           {
  76.                  case 1:Suma2(&recs1,pr);
  77.                  Suma(&tots1,ca);
  78.                  break;  
  79.                  case 2:Suma2(&recs2,pr);
  80.                  Suma(&tots2,ca);
  81.                  break;
  82.                  case 3:Suma2(&recs3,pr);
  83.                  Suma(&tots3,ca);
  84.                  break;
  85.                  case 4:Suma2(&recs4,pr);
  86.                  Suma(&tots4,ca);
  87.                  break;
  88.                  case 5:Suma2(&recs5,pr);
  89.                  Suma(&tots5,ca);
  90.                  break;
  91.           }
  92.          
  93.           cont=cont+1;
  94.           maximo(cont, &pmaxr, recp1, &aux, npel, &tickmin, pr, &aux2, tick, &aux3, nsuc, &sucminr);
  95.          
  96.           if (turno == 2 && nsuc == 3 && npel == 2) //Pelicula 2, Sucursal 3, Turno Tarde
  97.           {
  98.                     Suma(&pg,ca);
  99.           }
  100.  
  101.           printf("\nIngrese numero de ticket ");
  102.           scanf("%d",&tick);
  103.     }
  104.    
  105.     // Fin del ciclo
  106.    
  107.     //Operaciones
  108.     gsuc1=gsuca(recs1);
  109.     gsuc2=gsuca(recs2);
  110.     gsuc3=gsuca(recs3);
  111.     gsuc4=gsuca(recs4);
  112.     gsuc5=gsuca(recs5);
  113.     totrecp=recp1+recp2+recp3+recp4;
  114.     prom1=promedio(recp1,totrecp);
  115.     prom2=promedio(recp2,totrecp);
  116.     prom3=promedio(recp3,totrecp);
  117.     prom4=promedio(recp4,totrecp);
  118.     totfinal=tots1+tots2+tots3+tots4+tots5;
  119.     proms1=promediotot(tots1,totfinal);
  120.     proms2=promediotot(tots2,totfinal);
  121.     proms3=promediotot(tots3,totfinal);
  122.     proms4=promediotot(tots4,totfinal);
  123.     proms5=promediotot(tots5,totfinal);
  124.    
  125.     //Resultados
  126.     Cantavend(catm,catt,catn);
  127.     sucmax(aux,pmaxr);
  128.     sucrecmenos(aux3,sucminr);
  129.     gansuc(gsuc1,gsuc2,gsuc3,gsuc4,gsuc5);
  130.     porrec(prom1,prom2,prom3,prom4);
  131.     tickme(aux2,tickmin);
  132.     Imprimir(pg);
  133.     procav(proms1,proms2,proms3,proms4,proms5);
  134.    
  135.    
  136.     getch();
  137.     return 0;
  138.    
  139. }
  140.  
  141. float descuento(float a)
  142. {
  143.       float b;
  144.       b=(a*7)*0.9;
  145.       return b;
  146. }
  147. float gsuca(float a)
  148. {
  149.       float b;
  150.       b=a*0.2;
  151.       return b;
  152. }
  153. float promedio(float a, float b)
  154. {
  155.       float c;
  156.       c=(a*100)/b;
  157.       return c;
  158. }
  159.      
  160. float promediotot (float a, float b)
  161. {
  162.       float c;
  163.       c=(a*100)/b;
  164.       return c;
  165. }
  166.      
  167.  
  168. void Cantavend (int a, int b, int c)
  169. {
  170.      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);
  171. }
  172.  
  173. void sucmax (int a, float b)
  174. {
  175.      printf("La pelicula de mayor recaudacion es la nro %d, que recaudo %5.2f \n\n",a,b);
  176. }
  177.  
  178. void sucrecmenos (int a, float b)
  179. {
  180.      printf("La sucursal que recaudo menos fue la numero %d, con un total de %5.2f \n\n",a,b);
  181. }
  182.  
  183. void gansuc (float a, float b, float c, float d, float e)
  184. {
  185.      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);
  186. }
  187.  
  188. void porrec(float a, float b, float c, float d)
  189. {
  190.      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);
  191. }
  192.  
  193. void tickme (int a, float b)
  194. {
  195.      printf("El ticket de menor valor es el nro %d, con un valor de %5.2f \n\n",a,b);
  196. }
  197.  
  198. void Imprimir (int a)
  199. {
  200.      printf("La cantidad de asientos vendidos para la pelicula 2, la sucursal 3 y turno tarde es %d \n\n",a);
  201.  
  202. }
  203.  
  204. void procav (float a, float b, float c, float d, float e)
  205. {
  206.      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);
  207. }
  208.  
  209. void Suma (int*a, int b)
  210. {
  211.      *a=*a+b;
  212. }
  213.      
  214. void Suma2 (float*a, float b)
  215. {
  216.      *a=*a+b;
  217. }
  218.  
  219. 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)
  220. {
  221.          if (cont==1)
  222.           {
  223.                       *tickmin=pr;
  224.                       *aux2=tick;
  225.                       *aux3=nsuc;
  226.                       *pmaxr=0;
  227.                       *sucminr=pr;
  228.           }
  229.           if (recp1>pmaxr)
  230.           {
  231.                            *pmaxr=recp1;
  232.                            *aux=npel;
  233.           }
  234.           if (recp2>pmaxr)
  235.           {
  236.                            *pmaxr=recp2;
  237.                            *aux=npel;
  238.           }
  239.           if (recp3>pmaxr)
  240.           {
  241.                            *pmaxr=recp3;
  242.                            *aux=npel;
  243.           }
  244.           if (recp4>pmaxr)
  245.           {
  246.                            *pmaxr=recp4;
  247.                            *aux=npel;
  248.           }
  249.                            
  250.           if (pr < tickmin)
  251.           {
  252.                  *tickmin=pr;
  253.                  *aux2=tick;
  254.           }
  255.           if(recs1<sucminr&&recs1>0||recs1==sucminr+pr)
  256.           {
  257.                            *sucminr=recs1;
  258.                            *aux3=nsuc;
  259.           }
  260.           if(recs2<sucminr&&recs2>0||recs2==sucminr+pr)
  261.           {
  262.                            *sucminr=recs2;
  263.                            *aux3=nsuc;
  264.           }
  265.           if(recs3<sucminr&&recs3>0||recs3==sucminr+pr)
  266.           {
  267.                            *sucminr=recs3;
  268.                            *aux3=nsuc;
  269.           }
  270.           if(recs4<sucminr&&recs4>0||recs4==sucminr+pr)
  271.           {
  272.                            *sucminr=recs4;
  273.                            *aux3=nsuc;
  274.           }
  275.           if(recs5<sucminr&&recs5>0||recs5==sucminr+pr)
  276.           {
  277.                            *sucminr=recs5;
  278.                            *aux3=nsuc;
  279.           }
  280. }

Saludos.