Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - mbmbiofreak

#1
Buenas tardes a tod@s,

Estoy haciendo un programa y tengo una función con bastantes sentencias if-else, creo que se podría reducir el código con la sentencia switch-case, pero no me funciona (creo que el problema está en reconocer cadenas de caracteres).

A continuación os dejo la función por si alguien sabe como ponerlo con la sentencia switch-case.

Un saludo!!



int Comprobar_Archivo_Conf(char *cadena,int parametro)
{
if (strcmp("energia_bolas_verdes",cadena)==0)
 {
  if (parametro>=500&&parametro<=1500)
   {
    segmento_01[ENERGIA_BOLAS_VERDES]=parametro;
    return 1;
   }
 }
 else
  if (strcmp("num_bolas_rojas",cadena)==0)
   {
    if (parametro>3&&parametro<7)
     {
      segmento_01[NUM_BOLAS_ROJAS]=parametro;
      return 1;
     }
   }
   else
    if (strcmp("intervalo_rojas",cadena)==0)
     {
      if (parametro>=3&&parametro<=6)
       {
        segmento_01[INTERVALO_ROJAS]=parametro;
        return 1;
       }
     }
     else
      if (strcmp("intervalo_azules",cadena)==0)
       {
        if (parametro>=3&&parametro<=6)
         {
          segmento_01[INTERVALO_AZULES]=parametro;
          return 1;
         }
       }
       else
        if (strcmp("num_bolas_negras",cadena)==0)
         {
          if (parametro>=3&&parametro<=5)
           {
            segmento_01[NUM_BOLAS_NEGRAS]=parametro;
            return 1;
           }
         }
         else
          if (strcmp("intervalo_negras",cadena)==0)
           {
            if (parametro>=3&&parametro<=6)
             {
              segmento_01[INTERVALO_NEGRAS]=parametro;
              return 1;
             }
           }
           else
            if (strcmp("bolas_verdes_pequenas",cadena)==0)
             {
              if (parametro>=2&&parametro<=5)
               {
                segmento_01[BOLAS_VERDES_PEQUENAS]=parametro;
                return 1;
               }
             }
             else
              if (strcmp("puntuacion_t1_roja",cadena)==0)
               {
                if (parametro==100)
                 {
                  segmento_01[PUNTUACION_T1_ROJA]=parametro;
                  return 1;
                 }
               }
               else
                if (strcmp("puntuacion_t2_roja",cadena)==0)
                 {
                  if (parametro==120)
                   {
                    segmento_01[PUNTUACION_T2_ROJA]=parametro;
                    return 1;
                   }
                 }
                 else
                  if (strcmp("puntuacion_t3_roja",cadena)==0)
                   {
                    if (parametro==140)
                     {
                      segmento_01[PUNTUACION_T3_ROJA]=parametro;
                      return 1;
                     }
                   }
                   else
                    if (strcmp("puntuacion_t4_roja",cadena)==0)
                     {
                      if (parametro==160)
                       {
                        segmento_01[PUNTUACION_T4_ROJA]=parametro;
                        return 1;
                       }
                     }
                     else
                      if (strcmp("puntuacion_bola_negra",cadena)==0)
                       {
                        if (parametro==200)
                         {
                          segmento_01[PUNTUACION_BOLA_NEGRA]=parametro;
                          return 1;
                         }
                       }
                       else
                        if (strcmp("quita_energia_roja",cadena)==0)
                         {
                          if (parametro>=10&&parametro<=25)
                           {
                            segmento_01[QUITA_ENERGIA_ROJA]=parametro;
                            return 1;
                           }
                         }
return 0;
} // fin funcion Comprobar_Archivo_Conf