-1
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    string num[21];
    int amount_num;

    cout<< "How many numbers do you want? (max 20)\n";
    cin>> amount_num;

    if (amount_num<= 0 || amount_num >= 22)
    {
        cout << "Invalid size.  Ending.\n";
    }
    for (int counter =0; counter < amount_num; counter++)
    {
        cout<< "Enter vaule "<< counter<< ":"<< endl;
        cin>> num[counter];
    }

    for(int t= 0; t< amount_num; t++)
    {
        int total;
        int average;
        total = total + num[t];
        average= total/ t;
        cout<< "Average: "<< average<< endl;
    }
    for(int x=0; x< amount_num; x++)
    {
        cout<< "You entered:"<< endl;
        cout<< num[x]<< endl;
    }
}

合計と num[t] を加算しようとすると、エラーが表示され続けます。それは次のように述べています: error no operator+ in total+ num[t].

4

2 に答える 2

1

あなたは移動したいかもしれません

int total;
int average;

あなたのループの前に

average= total/ t;
cout<< "Average: "<< average<< endl;

そうしないと、変数を再定義し続けるだけで、コードが壊れてしまいます。totalまた、変数を0 として宣言する必要がありaverageます。コンパイラは、これについて既に警告しているはずです。

これを行うと、次のようなコードになります。

int total = 0;
int average;

for(int t= 0; t< amount_num; t++)
{
    total = total + num[t];
}
average= total/ amount_num;
cout<< "Average: "<< average<< endl;

複数の結果を返すことで発生している問題を修正する必要があります。

于 2013-08-02T21:44:07.277 に答える
1

Several things:

  1. You are using an array of string, you should use array of float.
  2. If you want average of float then variable total should be float instead of int
于 2013-08-02T20:26:09.840 に答える