elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda sentencia switch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sentencia switch  (Leído 2,576 veces)
netca

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Duda sentencia switch
« en: 27 Julio 2012, 02:27 am »

Hola , tengo que validar unos parametros y tengo estos errores:

Citar
La etiqueta de 'case' no se reduce a una constante entera.
La declaracion break no esta dentro de un ciclo o switch
etc de problemas del switch.

Que es lo que estoy haciendo mal? Como tendria que hacerlo?

Código:
int chkP(char* p, char* q){
  
     switch(*p){
          case ("-n):
          ...
          break;
          case ("-k"):
          ...
          break;
          ....//Mas case
          default:
          ... break;

     }

}

Código:
int main(int argc, char* argv[]){

        ...
char* p;
        char* q;
int k;
        for(int i = 0 ; i < x ; i++){        
   p = argv[i];
   q = argv[i+1];
   k = chkP(p,q);
            if( k == 0)
                break;
        }
...
}

Saludos!


« Última modificación: 27 Julio 2012, 03:23 am por netca » En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Duda sentencia switch
« Respuesta #1 en: 27 Julio 2012, 04:04 am »

Madre de dios deberían de cortar cabezas por esto , estás comparando cadenas usa la función strcmp definida en string.h:
Código
  1. int chkP(char* p, char* q){
  2.  
  3.     if(strcmp(p,"-n")==0)
  4.     {
  5.      //Si la cadena p es igual que -n haz esto
  6.      //el código
  7.     }
  8.     if(strcmp(p,"-k")==0)
  9.     {
  10.      //Si la cadena p es igual que -k haz esto
  11.      //el código
  12.     }
  13.     //el código cambiado ...
  14.  
  15. }
¡Un saludo!

PD: No te tomes a mal lo de las cabezas  ;D


« Última modificación: 27 Julio 2012, 04:09 am por avesudra » En línea

Regístrate en
netca

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: Duda sentencia switch
« Respuesta #2 en: 27 Julio 2012, 05:03 am »

Gracias , perdon estoy aprendiendo :)
En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Duda sentencia switch
« Respuesta #3 en: 27 Julio 2012, 05:17 am »

Gracias , perdon estoy aprendiendo :)
Debo disculparme yo , aunque es que siempre son los mismos errores y buscar un poco nunca viene mal, pues te explico para comparar cadenas de carácteres debes usar strcmp , y antes lo que estabas intentando hacer es comparar el valor del primer carácter con algo en los cases que tampoco se podían poner, pero si estás aprendiendo ¿ya has empezado con punteros?

¡Un saludo y perdona si te ha molestado lo de antes!
En línea

Regístrate en
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda && en sentencia while
Java
Dem0ny 9 6,672 Último mensaje 15 Noviembre 2008, 01:22 am
por sapito169
Duda de sentencia OR (SOLUCIONADO)
Bases de Datos
octavioxd 2 3,180 Último mensaje 7 Agosto 2013, 06:31 am
por octavioxd
problema con sentencia switch
Programación C/C++
++c 2 1,907 Último mensaje 6 Mayo 2014, 00:16 am
por ++c
Sentencia switch vs tablas de búsqueda
Programación C/C++
kutcher 9 2,973 Último mensaje 5 Septiembre 2014, 21:45 pm
por Eternal Idol
[C] Duda sencilla - sentencia Switch
Programación C/C++
n-utz 4 1,949 Último mensaje 31 Mayo 2016, 01:00 am
por n-utz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines