gpt4 book ai didi

C++计算数字和字符

转载 作者:行者123 更新时间:2023-11-27 23:17:09 24 4
gpt4 key购买 nike

我是 C++ 的新手,我需要编写一个程序来计算数字、字符、空格符号和其他符号的数量。我决定从计算位数开始。到目前为止,这是我的代码:

 int main() {
int n = 0;
int numb = 0;

ifstream read("Data.txt");

n = symbCounter(n, read);
numb = numbCounter(n, read, numb);
cout << numb; // this is for quick testing

return 0;
}

int symbCounter(int &n, ifstream &read) {

char ch;
while (!read.eof()) {
read.get(ch);
n++;

}
return n;

}

int numbCounter(int &n, ifstream &read, int counter) {

char sk[n];

for (int i = 0; i < n; i++) {
read.get(sk[i]);
if (sk[i] == '1' || sk[i] == '2' || sk[i] == '3' || sk[i] == '4' || sk[i] == '5' || sk[i] == '6' || sk[i] == '7' || sk[i] == '8' || sk[i] == '9' || sk[i] == '0')
counter++;
};

return counter;
}

但是控制台给我的值为 0。我做错了什么?我如何只计算字符,不包括数字或空格?提前致谢。

最佳答案

您可以使用 <cctype> 中定义的函数像标题一样

isalpha()
isblank()
iscntrl()
isdigit()
isspace()

和其他检查特定类型的字符。参见 this例如。

关于C++计算数字和字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15685400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com