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: pedro,, en 20 de Mayo 2016, 10:38
-
Buenas, dejo una posible solución al ejercicio CU00528F del tutorial de programación en lenguaje C desde cero.
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”.
#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.
-
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:
#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