se puede hacer un switch que acumule datos? y si la respuesta es si, que creo que la es,
en el ejercicio hice un switch de 6 mozos para saber que cantidad de personas atendió cada uno,
después me pide que mozo atendió mas personas en total? como lo debería hacer?
muchas gracias
Por qué no cuelgas el código que llevas hecho. Es más fácil así corregir o incluir sugerencias.
(http://)
Saluditos!. .... (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
jaj, no arranque el codigo por que no se como hacerlo XD es decir nose como sacar el maximo de un switch
No se puede sacar el máximo con un switch.
Debes hacerlo con ifs:
if (Numero1 > Numero2) // El maximo es el numero1
else // Sino, el maximo será el numero2
Cita de: fedee975 en 4 Mayo 2013, 20:10 PM
jaj, no arranque el codigo por que no se como hacerlo XD es decir nose como sacar el maximo de un switch
Un simple ejemplo donde en sum acumulas y ya luego sería comparar para hallar el máximo:
#include <stdio.h>
int main() {
int nota=0,sum1=0,sum2=0;
while(nota!=-1){
printf(" Inserte uno o dos : "); scanf("%d",¬a);
switch(nota) {
case 1: sum1++;printf("%d",sum1); break;
case 2: sum2++;printf("%d",sum2); break;
default: printf("esa nota es incorrecta");
}
}
return 0;
}
Claro que con un array quedaría mejor, es un simple ejemplo de lo que puedes hacer en el switch para acumular valores.
Saluditos!. .... (http://st.forocoches.com/foro/images/smilies/simba1.gif)
muchas gracias por las respuestas, el tema es que tengo que comparar 6 valores, y con if se me va a hacer un chorizo gigante jaj
no hay otro modo para hacerlo mas corto?
edit : lo deje asi
if((ac1>ac2)&&(ac1>ac3)&&(ac1>ac4)&&(ac1>ac5)&&(ac1>ac6))
printf("el mozo numero 1 atendio mas clientes\n\n");
if((ac2>ac1)&&(ac2>ac3)&&(ac2>ac4)&&(ac2>ac5)&&(ac2>ac6))
printf("el mozo numero 2 atendio mas clientes\n\n");
if((ac3>ac1)&&(ac3>ac2)&&(ac3>ac4)&&(ac3>ac5)&&(ac3>ac6))
printf("el mozo numero 3 atendio mas clientes\n\n");
if((ac4>ac1)&&(ac4>ac2)&&(ac4>ac5)&&(ac4>ac6)&&(ac4>ac3))
printf("el mozo numero 4 atendio mas clientes\n\n");
if((ac5>ac1)&&(ac5>ac2)&&(ac5>ac3)&&(ac5>ac4)&&(ac5>ac6))
printf("el mozo numero 5 atendio mas clientes\n\n");
if((ac6>ac2)&&(ac6>ac3)&&(ac6>ac4)&&(ac6>ac5)&&(ac6>ac1))
printf("el mozo numero 6 atendio mas clientes\n\n");
Vamos a usar reducción al absurdo.
Mete todos los números en un array:
int Numero[6];
Consideramos que el elemento 0 es el máximo:
int i = 1;
int Max = 0;
for (i = 1; i < 6;i++)
{
if (Numero[i] > Numero[Max])
Max = i;
}
// El maximo es el elemento Numero[Max];
Si encontramos algun número mayor que nuestro valor establecido. Reasignamos nuestra hipotesis.