elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Escriba un programa en c que diga si el dato dado es un numero una letrao signo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Escriba un programa en c que diga si el dato dado es un numero una letrao signo  (Leído 610 veces)
Prepa305001

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Escriba un programa en c que diga si el dato dado es un numero una letrao signo
« en: 20 Julio 2019, 21:02 pm »

como le hago para detectar los signos y que los cuente

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



int main()

{
    char cadena[50];
    char numeros[50];
    char texto[50];
    char signos;

    int z,i, j, k;

    signos=0;
    printf("escribe algo mixto: ");
    scanf("%s",cadena);
    for(i = 0, j = 0, k = 0; i < strlen(cadena); i++)
    {
        if( isdigit( cadena ) )
            numeros[j++] = cadena;

        else if (isalpha(cadena))
          texto[k++] = cadena;
            else
            signos += cadena;
    }

    numeros[j] =0;
    texto[k]=0;
    printf("\nnumeros %s",numeros);
        printf("\ntexto %s",texto);
        printf("\nla cantidad de letras son %i", k);
        printf("\nla cantidad de numeros son %i", j);
           printf("\nla cantidad de signos son %i", z);
    return 0;
}




« Última modificación: 20 Julio 2019, 21:38 pm por Prepa305001 » En línea

@XSStringManolo
<svg/onload=alert()>
Colaborador
***
Desconectado Desconectado

Mensajes: 2.279


Turn off the red ligth


Ver Perfil WWW
Re: Escriba un programa en c que diga si el dato dado es un numero una letrao signo
« Respuesta #1 en: 20 Julio 2019, 23:41 pm »

Código
  1. if (caracter == numeros || caracter == letras)
  2. {
  3. if (caracter == numeros)
  4.    {
  5.    //El caracter es un numero.
  6.    }
  7.  
  8.    else
  9.    {
  10.    //El caracter es una letra
  11.    }
  12. }
  13. else
  14. {
  15. //es un simbolo.
  16. ++contadorSimbolos;
  17. }

Usas un bucle para comparar cada caracter con todos los números y todas las letras. Si no coincide es un símbolo o una letra acentuada.

Yo personalmente usaria bucles for y un array de chars para los números y otro array de chars con las letras.
Comparas el caracter a comprobar con todos los elementos del array numeros, que serán 0,1,2,3,4,56,7,8,9
Y comparas el caracter a comprobar con todos los elementos del array letras, que serán a,b,c,d,...z,A,B,...Z

Puedes usar booleanos como variables globales declarados como false para identificar si es una letra o un número.
Código
  1. int i =0;
  2. while (i != tamanhoDelArrayLetras)
  3. {
  4.   if (caracter == numero[i])
  5.   {
  6.      booleanoEsUnNumero = true;
  7.      break;
  8.   }
  9.  
  10.   if (caracter == letra[i])
  11.   {
  12.      booleanoEsUnaLetra = true;
  13.      break;
  14.   }
  15. ++i;
  16. }
  17.  
  18. if (booleanoEsUnaLetra == false && booleanoEsUnNumero == false)
  19. {
  20.   //El caracter es un simbolo
  21.   ++contadorSimbolos;
  22. }


« Última modificación: 20 Julio 2019, 23:44 pm por string Manolo » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como hacer que diga si un numero es par o impar
Programación Visual Basic
BERNABE55 8 4,737 Último mensaje 17 Noviembre 2005, 04:15 am
por Slasher-K
decir si un caracter es vocal, consonante, número o signo de puntuación « 1 2 »
Programación Visual Basic
minette1988 11 12,126 Último mensaje 25 Mayo 2010, 00:17 am
por Dessa
[RETO] Comprobar si un numero dado es un numero de la suerte « 1 2 ... 5 6 »
Programación Visual Basic
Karcrack 53 15,714 Último mensaje 17 Agosto 2010, 23:58 pm
por Dessa
Generar numeros que contengan un numero dado x « 1 2 »
Programación C/C++
GoBrit 13 3,086 Último mensaje 17 Enero 2015, 02:28 am
por engel lex
Invertir un número dado
Programación C/C++
BortizF 3 1,666 Último mensaje 18 Octubre 2017, 16:20 pm
por BortizF
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines