c++ cctype

#include<iostream>
#include<cctype>
int main(){
    using namespace std;
    cout<<"Enter text for analysis, an type @"
    "to terminate input.\n";
    char ch;
    int whitespace=0;
    int digits=0;
    int chars=0;
    int punct=0;
    int others=0;

    cin.get(ch);
    while(ch!='@'){
        if(isalpha(ch)){//如果参数是字母,返回true
            chars++;
        }else if(isspace(ch)){//如果参数是标准空白字符 返回true
           whitespace++;     
        }else if(isdigit(ch)){//如果参数是数字[0-9],返回true
            digits++;
        }else if(ispunct(ch)){//如果参数是标点符号,返回true
            punct++;
        }else{
            others++;
        }
        cin.get(ch);
    }
    cout<<chars<<" letters, "
        <<whitespace<<" whitespace, "
        <<digits<<" digits, "
        <<punct<<" punctuations, "
        <<others<<" outhers.\n";

    return 0;
}

cctype中的字符函数

函 数 名 称 返 回 值
isalnum( ) 如果参数是字母数字,即字母或数字,该函数返回true
isalpha( ) 如果参数是字母,该函数返回true
iscntrl( ) 如果参数是控制字符,该函数返回true
isdigit( ) 如果参数是数字(0~9),该函数返回true
isgraph( ) 如果参数是除空格之外的打印字符,该函数返回true
islower( ) 如果参数是小写字母,该函数返回true
isprint( ) 如果参数是打印字符(包括空格),该函数返回true
ispunct( ) 如果参数是标点符号,该函数返回true
isspace( )如果参数是标准空白字符,如空格、进纸、换行符、回车、水平制表符或者垂直制表符,该函数返回true
isupper( ) 如果参数是大写字母,该函数返回true
isxdigit( ) 如果参数是十六进制数字,即0~9、a~f或A~F,该函数返回true
tolower( ) 如果参数是大写字符,则返回其小写,否则返回该参数
toupper( ) 如果参数是小写字符,则返回其大写,否则返回该参数
posted @ 2019-01-11 03:54  webzom  阅读(192)  评论(0)    收藏  举报