【发布时间】:2014-11-19 00:26:25
【问题描述】:
我正在上初学者的 C++ 课程。目前,我们正在开展一个项目,该项目将计算字母表中每个字符在用户输入的短语中的次数。程序会将所有内容输出到表格中(从左到右:字母 | 出现次数 | 特定字符在整个短语中的百分比 | 表示与最接近百分比的百分比的直方图)
This is THE most pernicious,
puzzling programming project yet,
but at least we can work in pairs.
^D
A 5 6.4% ******
B 1 1.3% *
C 3 3.8% ****
D 0 0.0%
等等等等。
我遇到了错误,类型为“double”和“double”的无效操作数对二元运算符%
我知道它与我的代码中的 % 运算符有关,但我不完全确定我理解我是如何错误地使用它以及是否可以得到某种解释。
以下是它所涉及的功能:
void printchar ( const char s[], int length, double freq[], const char letters[ )
int j = 0;
int i = 0;
double percent = freq[i]/length;
for ( i = 0; i < 26; i++ )
{
cout << letters[i] << setw(5) << freq[i] << setw(5)
<< setprecision(1) << fixed << percent;
if(percent % 1.0 < .5)
cout << "*";
for( j = 0; j <= percent; j++)
cout << "*";
}
我知道有很多清理工作要做,但我想弄清楚我是如何错误地使用 % 操作数的。任何内容丰富的回复将不胜感激。
谢谢
【问题讨论】:
-
除了给出的答案之外,请注意必须为每个字符计算百分比,因此它需要在 for 循环内。
标签: c++ function compiler-errors operands