我正在开发一个计算文本中的字母的程序,我似乎无法让它工作。有人可以指出我做错了什么。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string inputxt;
cout << "enter txt:\n";
getline(cin, inputxt);
char charcheck[ ]={'a', 'b', 'c', 'd'};
int charsize=sizeof(charcheck)/sizeof(char);
int count[charsize];
cout << charsize;
for (int i=0; i==inputxt.length(); i++){
for(int a=0; a==charsize; a++){
if (inputxt[i]==charcheck[a])
++count[a];
}
}
for (int b=0; b==charsize; b++){
cout << "number of " << charcheck[charsize] << ": " << count[charsize];
cout << endl;
}
return 0;
}
请注意我没有输入所有字符来检查文本。感谢。
答案 0 :(得分:2)
for (int i=0; i==inputxt.length(); i++){
for
构造需要3个参数:
while ...
换句话说,for (INIT; CONTINUATION; AFTERTHOUGHT) { BODY }
直接翻译为:
INIT;
while (CONTINUATION) { BODY; AFTERTHOUGHT; }
反转你的中间情况,它应该是i!=inputxt.length()
。这同样适用于每个其他for
循环。
答案 1 :(得分:1)
在for
循环中,您使用==
代替<
。例如:
for (int i=0; i==inputxt.length(); i++)
应该是:
for (int i=0; i < inputxt.length(); i++)