Código lol:
Ver originalPrueba a entrar el caso 4, por ejemplo, y después en el menú principal introduce una letra y !voilá!
Es normal con tanta linea de código ya es que me lio. Pegue el código mal XD
Lo arreglo pera >_<.
Centremos en el caso 4 que es el que me voy a pegar.
Después es cosa del dueño hacerlo completo sino me regaña dehn si lo pongo completo XD
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void foo ( char );
int main () {
int opcion = 0; //0 es el valor inicial ;)
char letra = 0; //0 igual es el valor inicial ;)
while ( opcion != 6 ) {
printf ( "4.- Reconocedor de vocales\n6.- Salir\n\nIngrese Opcion: " ); scanf ( "%d%*c", &opcion
); //anula esta linea y quita el comentario a la deabajo y veras el error //scanf ( "%d", &opcion ); //si tienes esta linea activada veras que nunca te va pedir una letra para ver si es vocal simplemente le va entrar el enter y si imprimes la variable letra veras que tiene el 10 de la tabla asc2.
//Este sera nuestro case 4 solo que en ves de case sera un if que debemos elejir 4 para simplificar la teoria ;)
if ( opcion == 4 ) {
printf ( "\nIngrese una letra: " );
foo(letra);
letra = 0; // al salir es necesario devolver el valor inicial a esta variable para tenerla bajo control todo el tiempo.
opcion = 0; // A esta no es obligado devolverle el valor inicial pero si lo hacemos tenemos nosotros el control ;)
}
else {
if(opcion==6){
break;
}
}
}
return 0;
}
void foo ( char letra ) {
if ( letra == 'a' || letra == 'e' || letra == 'i' || letra == 'o' || letra == 'u' || letra == 'A' || letra == 'E' || letra == 'I' || letra == 'O' || letra == 'U' ) {
printf ( "La letra %c es una vocal\n", letra
); } else {
printf ( "La letra %c no es una vocal\n", letra
); }
}
¿Cual es el problema ahora? Ninguno verdad?
El problema era que si no ignoras el enter el se va meter en letra y te va decir que no es una vocal.
Si no estoy correcto dejare la profesión de programador jajaj
Nunca lo he sido >_<
Encuanto a:
Código LOL:
Ver originalel problema que planteaba venombrain
Eso se debe a que no devuelve el valor inicial a letra al terminar de usarla en case4 (no digo en otros por que no los mire) y siempre letra sera la primera opción que elija unido al problema del enter el brain se queda echo un lio XD
Pero si no es así que alguien me explique massss que me gusta aprender :3