Una pregunta

alberto3000ve
09 de Mayo del 2005
estoy empezando esto de programar y tengo un pequeño problema, quiero introducir un nombre completo cuando esta corriendo el programa pero solo me toma los nombres sin espacios, puse las bibliotecas #include <iostream.h>, #include <string.h>,
y en la declaracion de variables la: char Nombre[100];, que estare haciendo mal o que me falta por poner??
gracias y saludos

pitukilloloco
09 de Mayo del 2005
Bueno, antes que nada, una pequeña aclaración. Los archivos iostream.h y string.h, no son bibliotecas; son archivos que contienen declaraciones de estructuras, constantes y funciones usadas en las bibliotecas. A estos archivos se les conocen como archivos de cabecera (el sufijo .h viene de la palabra en inglés "header" que significa cabecera) y son necesarios incluírlos en tu programa fuente cuando vayas a hacer uso de algunas de las constantes, estructuras o funciones a los cuales se refieran estos archivos de cabecera. Los archivos de bibliotecas tiene la extensión .lib y se ligan a tus programas cuando los compilas.
Ahora, con respecto a tu duda, para leer una cadena hay varias funciones de la biblioteca que puedes usar. No mencionaste cuál estás usando específicamente pero al mencionar el archivo de cabecera iostream.h me imagino que estás usando algo como esto
cin >> Nombre;
bueno, tal como está puesto, esta instrucción sólo te va a poner en la variable Nombre la primera palabra que teclees y lo demás lo deja en un buffer interno para lecturas posteriores que se hagan. Lo mismo pasa con la instrucción
sscanf ("%s", Nombre);
cuyo archivo de cabecera es stdio.h, y que realiza lo mismo que la primera instrucción. Para que te lea todo lo que tecleas, hasta dar Enter (o Return o Intro) debes de usar la función
gets (Nombre);
Esta función lee todo lo que tecleas hasta que das Enter. El caracter 'n', que es el caracter que representa la tecla Enter, gets lo sustituye con un caracter nulo '' en la variable Nombre. Para usar esta función debes de incluir al principio en tu archivo fuente lo siguiente
#include <stdio.h>

estoy empezando esto de programar y tengo un pequeño problema, quiero introducir un nombre completo cuando esta corriendo el programa pero solo me toma los nombres sin espacios, puse las bibliotecas #include <iostream.h>, #include <string.h>,
y en la declaracion de variables la: char Nombre[100];, que estare haciendo mal o que me falta por poner??
gracias y saludos