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

concatenar nombre y apellidos

Estas en el tema de concatenar nombre y apellidos en el foro de C/C++ en Foros del Web. El siguiente programa utiliza la función strcat para concatenar el nombre y el apellido de caracteres: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original #include <stdio.h> #include ...
  #1 (permalink)  
Antiguo 24/08/2010, 15:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
concatenar nombre y apellidos

El siguiente programa utiliza la función strcat para concatenar el nombre y el apellido de caracteres:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define NOM 30
  4.  
  5. int main(){
  6.     char nombre[NOM];
  7.     char apellido[NOM];
  8.    
  9.    
  10.     printf("Nombre y apellidos: ");
  11.     scanf("%s %s", nombre, apellido);
  12.     strcat(nombre, " ");
  13.     strcat(nombre, apellido);
  14.        
  15.     printf("%s\n", nombre);
  16.     getchar();
  17.     getchar();
  18. }

¿Por qué a la hora de imprimir sólo con poner la variable nombre además de imprimir el nombre imprime el apellido sin escribir dicha variable?

He intentado concatenar el segundo apellido e imprimirlo, pero no me sale. ¿Podéis echarme una mano?. Gracias.
  #2 (permalink)  
Antiguo 24/08/2010, 16:25
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: concatenar nombre y apellidos

No entiendo a que te estas refiriendo..... vos le insertas dos palabras(nombre,apellido) y las concatenas...

si queres agregarle un segundo apellido tenes que agregarle una variable mas al scanf ya que este al leer cadena de caracteres corta cuando encuentra un espacio.
  #3 (permalink)  
Antiguo 26/08/2010, 11:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: concatenar nombre y apellidos

ocurre porque al concatenar (nombre, apellido) copias apellido despues de nombre, resultando en una sola cadena (en la variable nombre) conteniendo el nombre mas el apellido. sin embargo, esta funcion no comprueba que la cadena nombre tenga espacio suficiente para almacenar el apellido

Etiquetas: concatenar, nombre
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 22:32.