Foros del Web » Programación para mayores de 30 ;) » Programación General »

ayuda con c/c++ y manejo de cadenas y otras cosas

Estas en el tema de ayuda con c/c++ y manejo de cadenas y otras cosas en el foro de Programación General en Foros del Web. que tal, tengo un problema: como puedo hacer para que deje espacios en mi programa y leer los caracteres que ponga el usuario: ejemplo: roma ...
  #1 (permalink)  
Antiguo 18/09/2004, 21:23
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
ayuda con c/c++ y manejo de cadenas y otras cosas

que tal, tengo un problema:
como puedo hacer para que deje espacios en mi programa y leer los caracteres que ponga el usuario:
ejemplo:

roma milan
milan turin
turin venecia
venia palermo


para que se lea todo eso en una cadena (no necesariamente debe ser de chars).......
y que por ejemplo, el arreglo quede algo asi:
arreglo[0]=roma milan
arreglo[1]=milan turin
arreglo[2]=turin venecia
etc......

ó
que quede asi:
arreglo[0]=roma
arreglo[1]=' '
arreglo[2]=milan
arreglo[3]=milan
arreglo[4]=' '
arreglo[5]=turin
etc.....
cualquiera de esas 2 formas es valida......
el chiste, es que despues de tener eso, pueda separar todas las cadenas o ciudades para ir comparando 1 con otra para cierto problemilla.........

espero haberme explicado......
nota: necesariamente se debe dejar 1 espacio entre cada par y luego de cada par hacer un salto de linea.......
  #2 (permalink)  
Antiguo 19/09/2004, 18:43
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Creo que es asi:

arreglo[0]="roma milan\n";
arreglo[1]="milan turin\n";
arreglo[2]="turin venecia\n";
etc...

Saludos
  #3 (permalink)  
Antiguo 20/09/2004, 13:16
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
no era asi, pero gracias de todos modos.
ya encontre la forma.
  #4 (permalink)  
Antiguo 20/09/2004, 15:22
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Pues haber, muestranos.

Saludos
  #5 (permalink)  
Antiguo 20/09/2004, 17:00
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
helo aqui:

Código:
//Es mas facil manejar los elementos estaticos
#define MAX_STRING   100   //maximo tamano de un string
#define MAX_ELEM     100  //maximo de pares de palabras a guardar
#define MAX_INPUT    201  //maximo tamno de la entrada del usuario

//Crea una estructura para guardar cada par de strings
struct sPares{
      char string1[MAX_STRING];
      char string2[MAX_STRING];
};

//en el main:

//Creamos la lista donde vamos a guardar los strings
struct sPares MiListaDePares[MAX_ELEM];
int nelem = 0;  //numero de elementos en nuestra lista

//necesitamos un string temporal para guardar el input del usuario
char stemp[MAX_INPUT]; 

//Ahora si, con gets obtenemos cada linea del usuario
stemp[0] = '\0';  //por si acaso...
gets(stemp);

//mientras haya entrada del usuario
while(strlen(stemp)>0  &&  nelem<MAX_ELEM){

   //En cada linea hay 2 palabras, las cuales separamos con strtok
   //y las vamos metiendo a nuestra lista
   char * pToken;
   pToken = strtok (stemp," ");
   strcpy(MiListaDePares[nelem].string1, pToken);
   pToken = strtok (NULL, " \n\0");
   strcpy(MiListaDePares[nelem].string2, pToken);
   nelem++;

   //obtenemos la entrada cada ciclo
   stemp[0] = '\0';  //por si acaso...
   gets(stemp);
}//while
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 17:00.