C++程序设计 (第三版) 谭浩强 习题6.8
习题 6.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少?
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
#include <iostream>
#include <string>
using namespace std;
void inputStr(string *str){
cout<<"Enter String: ";
getline(cin, *str);
}
void count(string *str){
int upper, lower, space, number, others;
upper = 0; lower = 0; space = 0; number = 0; others = 0;
for(int i = 0; i < str->length() - 1; i++){
if((*str)[i] >= 'A' && (*str)[i] <= 'Z'){
upper++;
}
else if((*str)[i] >= 'a' && (*str)[i] <= 'z'){
lower++;
}
else if((*str)[i] >= '0' && (*str)[i] <= '9'){
number++;
}
else if((*str)[i] == ' ' || (*str)[i] == '\t'){
space++;
}
else{
others++;
}
}
cout<<"UpperCase = "<<upper<<endl<<"LowerCase = "<<lower<<endl<<"Space = "<<space<<endl \
<<"Number = "<<number<<endl<<"Others = "<<others<<endl;
}
void outputStr(string *str){
cout<<*str<<endl;
}
int main(){
string *str = new string;
inputStr(str);
count(str);
delete(str);
system("pause");
return 0;
}