if (caracter == numeros || caracter == letras)
{
if (caracter == numeros)
{
//El caracter es un numero.
}
else
{
//El caracter es una letra
}
}
else
{
//es un simbolo.
++contadorSimbolos;
}
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.
int i =0;
while (i != tamanhoDelArrayLetras)
{
if (caracter == numero[i])
{
booleanoEsUnNumero = true;
break;
}
if (caracter == letra[i])
{
booleanoEsUnaLetra = true;
break;
}
++i;
}
if (booleanoEsUnaLetra == false && booleanoEsUnNumero == false)
{
//El caracter es un simbolo
++contadorSimbolos;
}