por favor me ayudan

PEPY
05 de Junio del 2003
hola soy estudiante de 2 sem de ing de sistemas
y tengo un algoritmo que no se como empezar
Elabore un programa que lea un carácter y determine si es:

a) una letra mayúscula.
b) una letra minúscula.
c) un carácter numérico.
d) un blanco.
e) un carácter de puntuación.
f) un carácter no incluido en las categorías anteriores.
g) contar las letras vocales, las letras consonantes.
h) Cada vez que se lea una vocal en minúscula se muestre en mayúscula y viceversa.
lo que creeo es que es con la tabla ASCII
muchas gracias

martin
05 de Junio del 2003
Bueno no es tan complejo como parece...
crea una variable tipo int llamada tecla o algo asi... hace tecla = getch();... para tomar del teclado un caracter
empeza a detectar las pocivilidades con un if encadenado conelse if de esta manera
if ((tecla > 'a') && (tecla < 'z'))... minusculas
else if ((tecla > 'A') && (tecla < 'Z'))... mayusculas
else if (isdigit(tecla))... numero
else if (isspace(tecla))... espacio
else ...todos los otros
Ahora contar las letras con alguna caracteristica es un pocquito mas dificil... pero no tanto...
con un for (i=0; i<strlen(s); i++) comprovas dos cosas:
c = s[i];
if ((c=='a') &&
(c=='e') &&
(c=='i') &&
(c=='o') &&
(c=='u')) {
/* Tratamiento de la bocal... minuscula*/
toupper(s[i]); // A mayusculas */
}
else if ((c=='A') && etc...
{
tolower(s[i]); // a minusculas
}
else if ((!isdigit(c)) && (!isspace(c))... es una consonante
Como nota te tengo que decir que incluyas aparte de stdio, conio y ctype.h
Ha me olvidaba para leer el string s hay que declararlo como char s[80] o algo parecido y se lee con gets(s);...
Mi meil (por si esto es un enrredo) es [email protected] Suerte.