Autor Tema: C (LenguajeC) Uso sentencias puts y gets pedir y mostrar datos consola CU00528F  (Leído 3911 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Buenas, dejo una posible solución al ejercicio CU00528F del tutorial de programación en 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, encantado de hablar con alguien de Lima”.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main() {
    char nombre [50];
    char ciudad [50];
    puts("Introduzca su nombre: ");
    gets(nombre);
    puts("Introduzca su ciudad: ");
    gets(ciudad);
    printf("\nBienvenido %s, encantado de hablar con alguien de %s.\n\n", nombre, ciudad);
    return 0;
}

Resolví todo con puts y gets menos el mensaje final, que si lo hacía con puts, tendría que haberlo resuelto en varias líneas y con varias sentencias puts, porque con lo explicado hasta ahora en el curso, no se me ocurre otra forma de solucionarlo.

Saludos.
« Última modificación: 21 de Mayo 2016, 22:31 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Tienes razón que con lo explicado no se puede resolver en una sola línea...

Podría concatenarse todo en una cadena, pero para eso hace falta una función adicional. Otra opción es usar fptus, que no introduce el salto de línea:

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

int main()
{
    char nombre [50];
    char ciudad [50];
    puts("Introduzca su nombre: ");
    gets(nombre);
    puts("Introduzca su ciudad: ");
    gets(ciudad);
    fputs ("Bienvenido ", stdout);
    fputs (nombre, stdout);
    fputs (", encantado de hablar con alguien de ", stdout);
    fputs (ciudad, stdout);
    return 0;
}

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".