Hola a todos los compañeros. Propongo una posible solución del ejercicio CU00522F del curso de programación con lenguaje C desde cero.
EJERCICIO
Dado el siguiente código:
#include <stdio.h>
#include <stdlib.h>
// Ejercicio aprenderaprogramar.com
int main() {
int valorUsuario;
printf("Introduzca su peso en kg como valor numerico: ");
scanf("%s", &valorPeso);
printf("Gracias");
return 0;
}
Responde estas preguntas:
a) ¿Por qué es incoherente el siguiente código? Señala qué errores contiene.
Es incoherente porque la variable "valorUsuario" está definida como tipo primitivo "int" y posteriormente el indicador de tipo de dato que se espera está definido como tipo cadena alfanumérica.
b) ¿Cómo podemos hacerlo coherente?
#include <stdio.h>
#include <stdlib.h>
int main()
{
float valorUsuario;
printf("Introduzca su peso en kg como valor numerico: ");
scanf("%f", &valorUsuario);
printf("Gracias");
return 0;
}
He decidido definir la variable "valorUsuario" de tipo float porque normalmente el peso se expresa en decimales. Posteriormente he definido el dato que se espera por parte del usuario del mismo tipo que había definido anteriormente la variable "valorUsuario".
Gracias.