No creo que me falte ningún ";" o definir algo , alguien puede decirme que traduce esto en el lenguaje de c++ que me falta
es un programa para que me muestre el mayor de 3 números o un mensaje en caso de que sean iguales parte de la función si funciona pero cuando llega a if (b>c) me salta error expected unqualified-id before 'if'
double Mayor_de_los_numeros(double a,double b,double c)
{
if(a>b)
{
if(a>c)
{
return a;
}
else if(a=c)
{
cout<< " el primer y ultimo numero que introdujo son iguales " <<endl;
};
return c;
}
else if(a=b)
{
cout<< " el primer y segundo numero que introdujo son iguales " <<endl;
};
};
if(b>c) <------ es aquí donde me marca el error
{
return b;
};
else if(c=b)
{
cout<< " el tercer y segundo numero que introdujo son iguales " <<endl;
};
}
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
No tengo compilador a la mano pero a simple vista puedo ver que en los ELSE IF no tienes una condición sino que tienes una asignación... por ejemplo en else if(a=c) tu allí estás diciendo SINO SI(A asigna el valor de C)... entonces debes cambiarlo por un doble == cuando quieres hacer una comparación: else if(a==c) .... allí dices: SINO SI(A es exactamente igual a C)
:D saludos
En realidad el error está antes del if ("before") y se debe a que cerraste mas llaves de las que deberías, tienes dos "};" seguidos antes de ese if, elimina uno, debería ser uno solo
No te compila porque no hay que poner un ";" despues del carácter "}".
Aparte tienes varios errores más, como el que te comentaba otro persona. Estás utilizando asignaciones "=" en vez de comparaciones "=="
Por otra parte acostúmbrate a colocar bien el código y a poner comentarios. Si no es muy difícil de seguir. Si lo escribes con márgenes es mucho más fácil. Si utilizas comparaciones te saldrán muchos menos anidamientos y también será más fácil.
Por ejemplo:
double Mayor_de_los_numeros(double a,double b,double c)
{
if ((a>b) && (a>c)) //a es mayor que b y que c. Devuelvo a
{
return a;
}
else if ((b>a) && (b>c)) //b es mayor que a y que c. Devuelvo b
{
return b;
}
else if ((c>a) && (c>b)) //c es mayor que a y que b. Devuelvo c
{
return c;
}
else
{
cout<< "Los tres números son iguales " <<endl;
}
}