#include <iostream>
#include <string>
#include <cctype>
#include <clocale>
using namespace std;
int main()
{
setlocale(LC_ALL,"spanish");
string str = "¡Hola Perú! hoy es viernes 01/01/2021 #&%$.";
char car;
int i;
int numLetras = 0, numDigitos = 0, numEspacios = 0, numSignos = 0, numOtros = 0;
cout << "La cadena original es: " << str << "\nEsta cadena contiene " << str.length() << " caracteres," << " la cual consiste de" << endl;
// verifica cada carácter en la cadena
for (i = 0; i < str.length(); i++)
{
car = str.at(i); // obtiene un carácter
if (isalpha(car))
numLetras++;
else if (isdigit(car))
numDigitos++;
else if (isspace(car))
numEspacios++;
else if (ispunct(car))
numSignos++;
else
numOtros++;
}
cout << " " << numLetras << " letras" << endl;
cout << " " << numDigitos << " digitos" << endl;
cout << " " << numEspacios << " espacios" << endl;
cout << " " << numSignos << " signos de puntacion" << endl;
cout << " " << numOtros << " otros signos." << endl;
return 0;
}