Escriba un programa que lea un carácter desde el teclado y que pruebe el carácter con cada una de las funciones de la biblioteca de manipulación de caracteres.
#include<stdio.h>#include<string.h> int main(int argc,char **argv){ char a; char *mensaje[] = {"una letra minuscula", "una letra mayuscula", "un numero"}; printf("\n Ingrese un caracter cualquiera [confirme con Enter]...:"); a = getchar(); if(islower(a) != 0) {printf("Es lower\n");} if(isupper(a) != 0) {printf("Es upper\n");} if(isdigit(a) != 0) {printf("Es digit\n");} return 0;}
Te dejo la mejor opción que probé:Código: [Seleccionar]#include<stdio.h>#include<string.h> int main(int argc,char **argv){ char a; char *mensaje[] = {"una letra minuscula", "una letra mayuscula", "un numero"}; printf("\n Ingrese un caracter cualquiera [confirme con Enter]...:"); a = getchar(); if(islower(a) != 0) {printf("Es lower\n");} if(isupper(a) != 0) {printf("Es upper\n");} if(isdigit(a) != 0) {printf("Es digit\n");} return 0;}El error que encontre en tu code al llamar a las funciones dentro de un array, es que tendrias que ejecutar cada funcion como si fuera una shellcode. y trate de hacerlo funcionar pero me da errores de violaciones de segmento y ademas accesos no manipulados de la memoria del OS.
#include <stdio.h>#include <string.h>#include <ctype.h>int main(int argc,char **argv){int (*pFun[3])(char )={ islower, isupper, isdigit};char a,*mensaje[] = {"una letra minuscula", "una letra mayuscula", "un numero"};int i; printf("\n Ingrese un caracter cualquiera [confirme con Enter]...:");a = getchar();for(i=0; i<3; i++){ if( pFun[i]( a ) ){ printf("\n Ingreso %s", mensaje[i]); } } printf("\n\n Pulse [Enter] para finalizar..."); getchar();getchar(); return 0;}
#include <ctype.h> int isalnum(int c); int isalpha(int c); int isascii(int c); int isblank(int c); int iscntrl(int c); int isdigit(int c); int isgraph(int c); int islower(int c); int isprint(int c); int ispunct(int c); int isspace(int c); int isupper(int c); int isxdigit(int c);