#include <stdio.h>
#include <ctype.h>
typedef char (*tipoFuncion)( char c );
char a_minus( char c ) {
return tolower(c);
}
char a_mayus( char c ) {
return toupper(c);
}
char invertir( char c ) {
return c == a_minus(c) ? a_minus(c) : a_minus(c);
}
void operar_cadena( char *c, tipoFuncion f ) {
while(*c) *c++ = (*f)( *c );
}
tipoFuncion fs[] = { a_minus, a_mayus, invertir };
void main( void ) {
char o, c[1000];
printf("\n1. A->a\n2. a->A\n3. a<->A\n"); scanf("%c",&o);
printf("\nCadena: "); scanf("%s", c);
operar_cadena( c, fs[o-'1'] ); printf("\nEl resultado es '%s'\n", c );
}
|