[ Foro de C ]
Hola! EEstoy intentando hacer un programa que haga lo siguiente:
Implementar un algoritmo que cuente el número de caracteres captados desde el teclado, determinar si es un dígito o un carácter o un espacio, e imprimir por pantalla estos números según el tipo.
Esto es lo que he hecho pero únicamente consigo que me lea todos los caracteres. No logro que me cuente letras números y espacios por separado.
Mi código:
//Pedir texto por teclado, contar caracteres, diferenciasr entre caracteres,//
//digitos y espacios e imprimir estos segun el tipo que sean.//
#include<stdio.h>
int main() {
int caracterestotales;
int caracter;
int letras;
int letra=0;
int numeros=0;
int espacios=0;
char text[100];
printf("Escriba aqui el texto deseado \n" ,text);
fflush(stdin);
gets(text);
caracterestotales = strlen(text);
while(text[caracter]=='\0')
if(text[caracter]=='a' || text[caracter]=='b' || text[caracter]=='c' || text[caracter]=='d' || text[caracter]=='e' || text[caracter]=='f' || text[caracter]=='g' || text[caracter]=='h' || text[caracter]=='i' || text[caracter]=='j' || text[caracter]=='k' || text[caracter]=='l' || text[caracter]=='m' || text[caracter]=='n' || text[caracter]=='ñ' || text[caracter]=='o' || text[caracter]=='p' || text[caracter]=='q' || text[caracter]=='r' || text[caracter]=='s' || text[caracter]=='t' || text[caracter]=='u' || text[caracter]=='v' || text[caracter]=='w' || text[caracter]=='x' || text[caracter]=='y' || text[caracter]=='z')
letras = letra+1;
else if (text[caracter]=='1' || text[caracter]=='2' || text[caracter]=='3' || text[caracter]=='4' || text[caracter]=='5' || text[caracter]=='6' || text[caracter]=='7' || text[caracter]=='8' || text[caracter]=='9' || text[caracter]=='0')
numeros++;
else if (text[caracter]==' ')
espacios++;
printf ("El numero total de caracteres es: %d\n" ,caracterestotales);
printf ("El numero total de letras es: %d\n" ,letras++);
printf ("El numero total de numeros es: %d\n" ,numeros);
printf ("Y el numero total de espacios es: %d\n" ,espacios);
getch ();
return 0;
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)