私は初心者向けの 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 << "*";
}
やるべきことがたくさんあることはわかっていますが、% オペランドをどのように間違って使用しているかを理解しようとしています。有益な回答をいただければ幸いです。
ありがとう