2013-08-02 61 views
0
#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]時,錯誤不斷彈出。 它聲明:錯誤沒有操作符+總數+ num [t]。編寫一個程序,查找多個浮點數的平均值。允許用戶指定將輸入多少個值。限制數量爲20

+0

爲什麼你有'string'數組? –

+0

不能將int和字符串相加 – orangegoat

+0

我將字符串更改爲float。我也將變量總數改爲浮動。我是如何得到平均水平的問題。它給我三個不同的答案 – user2647244

回答

0

幾件事情:

  1. 您正在使用的string一個數組,你應該使用的float陣列。
  2. 如果你想的float平均那麼變量total應該是 float代替int
+0

我將字符串更改爲浮動。我也將變量總數改爲浮動。我是如何得到平均水平的問題。它給了我三個不同的答案。 – user2647244

+0

什麼樣的三種不同的答案? –

0

您可能需要移動

int total; 
int average; 
你的循環之前

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

後循環,否則你只會保持redefini你的變量,這隻會打破你的代碼。 此外,您應該聲明變量totalaverage爲0.您的編譯器應該已經警告過您。

如果你這樣做,你將最終尋找這樣的代碼:

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; 

應該修復你用它返回多個結果有問題。

相關問題