Foros del Web » Programación para mayores de 30 ;) » C/C++ »

switch y array de caracteres

Estas en el tema de switch y array de caracteres en el foro de C/C++ en Foros del Web. sabeis si hay alguna forma de hacer un switch con cadenas de caracteres? algo estilo esto (argv[1] es una cadena de caracteres que se introduce ...
  #1 (permalink)  
Antiguo 30/05/2009, 13:19
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
switch y array de caracteres

sabeis si hay alguna forma de hacer un switch con cadenas de caracteres?

algo estilo esto (argv[1] es una cadena de caracteres que se introduce por la consola y segun lo que introduzcamos va a ejecutar un codigo u otro)
Código C:
Ver original
  1. switch(argv[1])
  2. {
  3.  case "comando1": <codigo1>
  4.      break;
  5.  case "comando2": <codigo2>
  6.      break;
  7.  case "comando3":  <codigo3>
  8.     break;
  9. }

esto al compilar me da error

gracias de antemano!
  #2 (permalink)  
Antiguo 01/06/2009, 00:39
 
Fecha de Ingreso: noviembre-2008
Ubicación: aserri
Mensajes: 27
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: switch y array de caracteres

mira para mi es mejor asi

Código:
int x=0;
cout<<Elija la operacion a realizar<<endl;

cout<<"comando1"<<endl;
cout<<"comando2"<<endl;
cout<<"comando2"<<endl;
cin>>x;
      switch(x)
   2.
      {
   3.
       case 1: <codigo1>
   4.
           break;
   5.
       case 2: <codigo2>
   6.
           break;
   7.
       case 3:  <codigo3>
   8.
          break;
   9.
      }
Asi evitas q el usuario digite mal y se caiga
  #3 (permalink)  
Antiguo 02/06/2009, 08:21
 
Fecha de Ingreso: febrero-2008
Mensajes: 241
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: switch y array de caracteres

El error te da, creo, que por que en la expersión del switch solo puedes poner enteros, caracteres, enumeradores y poco más, pero no cadenas de caracteres
  #4 (permalink)  
Antiguo 02/06/2009, 12:17
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: switch y array de caracteres

para hacer un switch de cadenas lo mas facil y rapido es hacer un if-else if-else if, etc. donde en cada condicion haces un strcmp de la palabra que te entran con "comando1", "comando2", etc.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:24.