[ Foro de C ]
Hola!!! Este programa, me compila pero cuando me pide una letra y escribo cualquier letra me sale error... ¿qué está mal?
#include<stdio.h>
//Crear un programa que pida una letra al usuario y diga si se trata de una vocal.
int main()
{
char letra;
char a,e,i,o,u;
printf("Teclea una letra:\n");
scanf("%c", letra);
{
if (letra==a && letra==e && letra==i && letra==o && letra==u) printf("Se trata de una vocal");
else
printf("Se trata de una consonante");
}
return 0;
}
Los valores de carácter se deben indicar entre comillas simples. Además estás uniendo las condiciones con un "Y", cuando debería ser un "O" ("si la letra es una A, o es una E, o ...").
if (letra=='a' || letra=='e' || ...
Y no tendrás que declarar las variables a, e, i, o ,u, porque no son datos que vayan a variar, sino cosas que puede introducir el usuario como valor para una única variable ("letra").
Sí, es verdad, después de enviar la pregunta miré el pdf y me di cuenta de mi error de letra=='a' (que faltaba la comilla simple) y lo de o, que claramente y estaba fatal. Aunque no sabia que no tenia que declarar las variables.Gracias de todas formas.
#include<stdio.h>
//Crear un programa que pida una letra al usuario y diga si se trata de una vocal.
int main()
{
char letra;
printf("Teclea una letra:\n");
scanf("%c",&letra);
{
if (letra=='a' || letra=='e' || letra=='i' || letra=='o' | letra=='u') printf("Se trata de una vocal");
else
printf("Se trata de una consonante");
}
return 0;
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)