Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/05/2012, 10:24
adalsuper
 
Fecha de Ingreso: mayo-2012
Mensajes: 60
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Programa en C que añade a una cadena las lineas metidas

he corregido una serie de errores que me copiaban la cadena1 cada vez que pasa por el bucle, el programa correcto sería: PERO ME FALTA QUE SE QUEDE EN EL BUCLE
Código C:
Ver original
  1. int main(){
  2.   int j,i=0;        //iniciar i, contador para añadir en la cadena y no sustituir
  3.   char c;
  4.   char linea[MAX],cadena[MAX2],cadena2[MAX2];
  5.  
  6.   printf("Introduce cadenas hasta introducir una cadena vacia:\n");
  7.   cadena2[0]='\0';
  8.  
  9.   do{
  10.  
  11.     scanf("%c",&c);     //coge caracter
  12.  
  13.     for(j=0; j<MAX && c!='\n'; ++j){
  14.       linea[j] = c;
  15.       scanf("%c",&c);       //coge caracter
  16.     }
  17.     linea[j]='\0';
  18.  
  19.  
  20.     for(j=0; j<MAX && linea[j]!='\0';++j,++i)
  21.       cadena[i] = linea[j];         //falta el \0
  22.  
  23.     cadena[i]='\0';         //añadimos
  24.  
  25.     strcat(cadena2,linea);
  26.    
  27.   }while(c!= '\n' );
  28.  
  29.  
  30.   printf("cadena total 1:\n %s\n",cadena);
  31.   printf("cadena total 2:\n %s\n",cadena2);
  32.  
  33.   return 0;
  34. }