2017-05-06 18 views
-6

私は、複数の金額の合計と与えられた金額の平均を求めるプログラムを作成しようとしています。それは動作していないようだが、問題が自分のコードであるかどうか私のコンパイラ内にあるかどうかはわかりません。これは私がこれまで持っていたものです。複数の数値の合計と平均を求める

#include <iostream> 
using namespace std; 

int main() 
{ 
    int n, i; 
    sum=0.0, average; 

    cout << "Enter the numbers of data: "; 
    cin >> n; 

    for(i = 0; i < n; ++i) 
    { 
     cout << i + 1 << ". Enter number: "; 
     cin >> num[i]; 
     sum += num[i]; 
    } 

    average = sum/n; 
    cout << "Average = " << average; 

    return 0; 
} 
+1

オフハンドでは、「合計」と「平均」のタイプが不足していると思います。あなたはどんなエラーを出していますか? – Mureinik

+1

'num [i]'はどこで定義されましたか?なぜ配列が必要ですか? –

+0

親指:**ほとんど決して**コンパイラです。入力の例とその結果の出力および/またはエラーメッセージの例を見ることができますか? –

答えて

0

「num」配列はどこにも宣言していません。また、データ宣言には合計と平均の型がありません。彼らはフロートする必要があります。ところでリテラルが最後にFを必要とするフロート:

cin >> num; 
sum += num; 

これは、メインのエラーを修正します:なし[i]は下付きで

float num = 0.0f; // hold the current number 
float sum = 0.0f; // store the sum so far 
float average = 0.0f; // store the average at the end 

ストレートNUMにはcinストアを読んで、。再度、エラーメッセージを慎重に読んでください。彼らは常に行番号とエラーの種類に関するメッセージを表示します。メッセージの意味を解読するだけでよいのです。

ユーザがサイズを入力するので、動的メモリ割り当てが必要なので、今のところ配列を忘れてしまいます。そのためには、基本的なプログラムフローと変数を掘り下げる必要があります。

「未知の記号」またはそれに類似するということはあなたが名前を使用したことを意味しますが、あなたは決してその型の宣言をしていないので、変数を宣言するのを忘れたか、コンパイラが変数、関数、クラスなどの名前であるかどうかをコンパイラに伝えないでください。コンパイラはマインドリーダーではありません)。

関連する問題