Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 01 de Julio 2016, 13:44

Título: Sentencias puts y gets en C diferencia con printf y scanf lenguajeC CU00528F
Publicado por: Dimitar Stefanov en 01 de Julio 2016, 13:44
Buenos días. Expongo una posible solución del ejercicio CU00528F del tutorial básico de programación con lenguaje C desde cero.

Citar
EJERCICIO

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”.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main() {
    char nombre[100], ciudad[100];
    char mensaje01[] = "Introduzca tu nombre: ";
    puts(mensaje01);
    gets(nombre);
    char mensaje02[] = "Intruduzca tu ciudad: ";
    puts(mensaje02);
    gets(ciudad);
    printf("Bienvenido %s, encantado de hablar con alguien de %s", nombre, ciudad);

    return 0;
}

Tengo dos dudas, la primera es porque cuando hacemos la instrucción para entrar datos nos da que los entremos en una línea nueva. La segunda es: ¿cómo podremos resolver el ejercicio sin utilizar la instrucción "printf" si la instrucción "puts" sólo acepta un parámetro? Entonces no podríamos escribir el mensaje que queremos y añadir las variables "nombre" y "ciudad".

Gracias.
Título: Re:Sentencias puts y gets en C diferencia con printf y scanf lenguajeC CU00528F
Publicado por: César Krall en 05 de Julio 2016, 16:15
Hola! Creo que en el hilo https://www.aprenderaprogramar.com/foros/index.php?topic=4608.0 se explica lo comentado

Saludos!