#include <iostream>
#include <string>
using namespace std ;
int main( )
{
char str[ 100 ] = { 0 } ; // available character string max is 99 characters
int i = 0 ;
int lett = 0 ;
int num = 0 ;
int spec = 0 ;
cout << "Please enter a continuous string of characters with no spaces" << endl ;
cout << "(example: ASO@23iow$)" << endl << endl ; //shows an example and then adds a blank line
cout << "Enter your string: " ;
cin >> str ;
cout << endl ;
while ( str[ i] ! = 0 )
{
cout << "<" << str[ i] << ">" ;
switch ( str[ i] )
{
case '0' ... '9' :
cout << " num" << endl;
i++ ;
num++ ;
break ;
case 'a' ... 'z' :
cout << " letl" << endl;
i++ ;
lett++ ;
break ;
case 'A' ... 'Z' :
cout << " letu" << endl;
i++ ;
lett++ ;
break ;
default :
cout << " up" << endl;
i++ ;
spec++ ;
}
}
cout << "your string has " << i << " characters" << endl ;
//prints the number of numbers in the string
cout << "Your string has " << num << " numbers in it." << endl ;
cout << "Your string has " << lett << " letters in it." << endl ;
cout << "Your string has " << spec << " special characters." << endl ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPiAKdXNpbmcgbmFtZXNwYWNlIHN0ZCA7CgppbnQgbWFpbigpCnsKICAgIGNoYXIgc3RyWzEwMF0gID0gezB9OyAgICAgLy8gYXZhaWxhYmxlIGNoYXJhY3RlciBzdHJpbmcgbWF4IGlzIDk5IGNoYXJhY3RlcnMKICAgIGludCBpID0gMDsKICAgIGludCBsZXR0ID0gMDsKICAgIGludCBudW0gPSAwOwogICAgaW50IHNwZWMgPSAwOwoKICAgIGNvdXQgPDwgIlBsZWFzZSBlbnRlciBhIGNvbnRpbnVvdXMgc3RyaW5nIG9mIGNoYXJhY3RlcnMgd2l0aCBubyBzcGFjZXMiIDw8IGVuZGwgOwogICAgY291dCA8PCAiKGV4YW1wbGU6IEFTT0AyM2lvdyQpIiA8PCBlbmRsIDw8IGVuZGwgOyAgIC8vc2hvd3MgYW4gZXhhbXBsZSBhbmQgdGhlbiBhZGRzIGEgYmxhbmsgbGluZQogICAgY291dCA8PCAiRW50ZXIgeW91ciBzdHJpbmc6ICIgOwogICAgY2luID4+IHN0ciA7CiAgICBjb3V0IDw8IGVuZGwgOwoKICAgd2hpbGUoc3RyW2ldICE9IDApCiAgIHsKICAgCSAgY291dCA8PCAiPCIgPDwgc3RyW2ldIDw8ICI+IjsKICAgICAgc3dpdGNoKHN0cltpXSkKICAgICAgIHsKICAgICAgICAgICAgY2FzZSAnMCcgLi4uICc5JzoKICAgICAgICAgICAgICAgIGNvdXQgPDwgIiBudW0iIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgICBudW0rKzsKICAgICAgICAgICAgICAgIGJyZWFrIDsKICAgICAgICAgICAgY2FzZSAnYScgLi4uICd6JzoKICAgICAgICAgICAgCWNvdXQgPDwgIiBsZXRsIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgICAgbGV0dCsrOwogICAgICAgICAgICAgICAgYnJlYWsgOwogICAgICAgICAgICBjYXNlICdBJyAuLi4gJ1onOgogICAgICAgICAgICAJY291dCA8PCAiIGxldHUiIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgICBsZXR0Kys7CiAgICAgICAgICAgICAgICBicmVhayA7CiAgICAgICAgICAgIGRlZmF1bHQgOgogICAgICAgICAgICAJY291dCA8PCAiIHVwIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgICAgc3BlYysrOwogICAgICAgfQogICB9CgogICBjb3V0IDw8ICJ5b3VyIHN0cmluZyBoYXMgIiA8PCBpIDw8ICIgY2hhcmFjdGVycyIgPDwgZW5kbCA7CiAgIC8vcHJpbnRzIHRoZSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgc3RyaW5nCiAgIGNvdXQgPDwgIllvdXIgc3RyaW5nIGhhcyAiIDw8IG51bSAgPDwgIiBudW1iZXJzIGluIGl0LiIgPDwgZW5kbCA7ICAgICAgIAogICBjb3V0IDw8ICJZb3VyIHN0cmluZyBoYXMgIiA8PCBsZXR0IDw8ICIgbGV0dGVycyBpbiBpdC4iIDw8IGVuZGwgOwogICBjb3V0IDw8ICJZb3VyIHN0cmluZyBoYXMgIiA8PCBzcGVjIDw8ICIgc3BlY2lhbCBjaGFyYWN0ZXJzLiIgPDwgZW5kbCAgIDsKICAgcmV0dXJuIDAgOwp9