Saber si es numero o caracteres en C++

Iniciado por tizerlks1, 14 Septiembre 2013, 03:07 AM

0 Miembros y 1 Visitante están viendo este tema.

tizerlks1

Hola el programa lo que tiene que hacer, es que te diga lo que tecleaste si fue mayúscula, minúscula, numero y carcter  lo que me falta complementar es que
lo muestre ha si

Citar
Ejemplo:

 Ho1@

 H es mayúscula
 o es minúscula
 1 es numero
 @ es un caracter


Esto es un poco de lo que llevo, espero y me puedan orientar un poco.



Código (cpp) [Seleccionar]
# include <stdlib.h>
# include <stdio.h>
int main()
{
      char Q;
     
   
      printf("ingresa caracter tipo char Q\n");
      scanf("%c",&Q);

     for
     if (Q>=1&&Q<=47)
        printf("es un caracter \n ");
      else
   
     if (Q>=48&&Q<=57)
        printf("es un numero\n ");
      else
   
     if (Q>=58&&Q<=64)
        printf("es un caracter\n ");
      else
   
     if (Q>=65&&Q<=90)
        printf("es una LETRA NAYUSCULA\n ");
      else
   
     if (Q>=91&&Q<=96)
        printf("es un caracter\n");
      else
   
     if (Q>=97&&Q<=122)
        printf("es una letra minuscula\n");
      else
   
     if (Q>=123&&Q<=255)
        printf("es un simbolo\n ");
   
   system("pause");
}

ecfisa

#1
Hola  tizerlks1.

La librería ctype.h te ayuda bastante en este caso:

#include <stdio.h>
#include <ctype.h>

int main()
{
 char ch;

   printf("Ingrese un caracter: ");
  ch = getchar();

  if (isdigit(ch))
    printf("Es un numero");
  else if (isalpha(ch)) {
    if (isupper(ch))
      printf("Es una letra mayuscula");
    else
      printf("Es una letra minuscula");
  } else
    printf("Es un caracter");

 return 0;
}


Saludos :)

rir3760

Cita de: ecfisa en 14 Septiembre 2013, 05:08 AMLa librería ctype.h te ayuda bastante en este caso
El valor de retorno de getchar es de tipo int para asi poder devolver cualquier caracter o EOF en caso de un error o fin de archivo y como los casos son exclusivos se pueden utilizar directamente las funciones isupper, islower e isdigit:
#include <stdio.h>
#include <ctype.h>

int main(void)
{
   int ch;

   printf("Ingrese un caracter: ");
   fflush(stdout);
   ch = getchar();

   if (isupper(ch))
      puts("Es una letra mayuscula");
   else if (islower(ch))
      puts("Es una letra minuscula");
   else if (isdigit(ch))
      puts("Es un numero");
   else
      puts("Es un algun otro caracter");

   return 0;
}


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

tizerlks1

Muchas gracias por su ayuda me a servido bastante  ;D  ;D