Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: julioespericueta87 en 22 de Septiembre 2016, 17:26

Título: C (lenguajeC) Sentencias puts y gets sin usar printf. Ejercicio CU00528F
Publicado por: julioespericueta87 en 22 de Septiembre 2016, 17:26
Hola, estoy resolviendo el ejercicio # 28 del curso programar en C desde cero, el cual pide lo siguiente:

"Crea un programa que usando puts y gets (sin usar printf ni scanf) pida al usuario su nombre y ciudad de nacimiento. Tras esto se deberá mostrar el siguiente mensaje: “Bienvenido nombre, encantado de hablar con alguien de ciudad”. Donde nombre y ciudad deben ser reemplazados por los datos proporcionados por el usuario. Por ejemplo si el usuario introduce como nombre Juan y como ciudad Lima, deberá mostrarse “Bienvenido Juan, encatando de hablar con alguien de Lima”

El codigo que introducí es el siguiente:
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char nombre [50];
    char ciudad [50];
    puts ("Cual es tu nombre?");
    gets (nombre);
    puts ("De donde eres?");
    gets (ciudad);
    puts("Bienvenido");
    puts (nombre);
    puts ("encantado de hablar con alguien de");
    puts (ciudad);
    return 0;
}


Pero los resultados no son los que esperaba ( yo esperaba: "Bienvenido Julio encantado de hablar con alguien de Torreon"), pero en lugar de eso da un salto de linea en cada frase en lugar de mostrar todo en una sola linea, yo obtuve:
"Bienvenido
Julio
encantado de hablar con alguien de
Torreon"
 Se como hacer que muestre todo en una linea usando printf y scanf, pero el objetivo de este programa es solo usar pust y gets.

Alguna idea de como solucionarlo?

En concreto el resultado es:

Cual es tu nombre?
Julio
De donde eres?
Torreon
Bienvenido
Julio
encantado de hablar con alguien de
Torreon

Process returned 0 (0x0) execution tiem: 8.433 s
Press any key to continue
Título: Re:Puts y Gets en "C"
Publicado por: pedro,, en 22 de Septiembre 2016, 20:47
Hola julioespericueta87

Lo primero comentarte que leas el siguiente enlace. Entre otras cosas podrás aprender a colocar el código correctamente en tus mensajes...
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784

Sobre el ejercicio decirte que la forma de hacerlo es como lo hiciste o simplemente usar printf() a la hora de mostrar el resultado. Porque puts() por defecto te inserta un salto de línea.

Saludos. ;D