/* * @topic T00320 Apr 18 -- how to classify characters * @brief Program demonstrates <tt><cctype></tt> header and <tt>isdigit() isalpha() ispunct()</tt> functions */ #include <iostream> #include <string> #include <cctype> using namespace std; int main() { string str = "ABC 123 @#$%"; stringstream buffer( str ); int onechar; // using int because char cannot represent EOF while ( ( onechar = cin.get() ) != EOF ) { if ( isdigit( onechar ) ) { std::cout << " [digit]"; } else if ( isalpha( onechar ) ) { std::cout << " [alpha]"; } else if ( ispunct( onechar ) ) { std::cout << " [punct]"; } std::cout.put( str[ idx ] ); } return 0; }