[ Foro de C++ ]

Convertir un switch a if

12-Aug-2015 18:45
Fernando Sanchez
1 Respuestas

Buenas tardes mi pregunta es como convertir este codigo a un if-else
lo intente pero me dio varios errores alguno podria porporcionarme ayuda?


class Casillas
    {
        public int Posicion1(int casilla1)
        {
            int a = 0;
            switch (casilla1)
            {
                case 1:
                    a = 0;
                    break;
                case 2:
                    a = 0;
                    break;
                case 3:
                    a = 0;
                    break;
                case 4:
                    a = 0;
                    break;
                case 5:
                    a = 1;
                    break;
                case 6:
                    a = 1;
                    break;
                case 7:
                    a = 1;
                    break;
                case 8:
                    a = 1;
                    break;
                case 9:
                    a = 2;
                    break;
                case 10:
                    a = 2;
                    break;
                case 11:
                    a = 2;
                    break;
                case 12:
                    a = 2;
                    break;
                case 13:
                    a = 3;
                    break;
                case 14:
                    a = 3;
                    break;
                case 15:
                    a = 3;
                    break;
                case 16:
                    a = 3;
                    break;

            }
            return a;
        }


Mi codigo esta asi no se en que tengo error de antemano gracias


 class Casillas
    {
        public int Posicion1(int casilla1)
        {
            int a = 0;

            if (casilla1 == 1 || casilla1 == 2 || casilla1 == 3 || casilla1 == 4)
            {
               return a=0;
                
            }
            
            else if (casilla1 == 5 || casilla1 == 6 || casilla1 == 7 || casilla1 == 8)
            {
                return a=1;
            }
            else  if (casilla1 == 9 || casilla1 == 10 || casilla1 == 11 || casilla1 == 12)
            {
                a = 2;
            }
            else if (casilla1 == 13 || casilla1 == 14 || casilla1 == 15 || casilla1 == 16)
            {
                a = 3;
            }
             
            return a;
        }


 


12-Aug-2015 19:26
Nacho Cabanes (+84)

En los dos primeros casos tienes construcciones como "return a=0; "

En ellas, sobra la palabra "return", que ya aparece al final de la función.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)