2015-10-13 55 views
1

最後的for循環出現問題。需要數組值的總和。循環中的數組加法

#include<iostream> 
using namespace std; 

// Arrays 

int main() 
{ 
    const int numEmploye = 6; 
    int horas[numEmploye]; 
    int total = 0; 

    for (int i = 0; i < numEmploye; i++) { 
     cout << "entre las horas trabajadas por el empleado " << i + 1 << ": "; 
     cin >> horas[i]; 
    } 
    for (int i = 0; i < numEmploye; i++) { 
     cout << horas[i] << endl; 
    } 

    for (int i = 0; i < numEmploye; i++){ 
     cout << total += numEmploye[i]; 
    } 

    system("Pause"); 
    return 0; 
} 
+0

請問你的代碼編譯,甚至! – CinCout

回答

1

您正在輸出+ =運算符的返回值。你也使用了錯誤的數組。

for (int i = 0; i < numEmploye; i++){ 
    total += horas[i]; 
} 
cout << total << endl; // endl flushes the buffer 
0

而不是使用以下內容打印total + = numEmploye [i]的值; numEmploye times ...

for (int i = 0; i < numEmploye; i++){ 
    cout << total += numEmploye[i]; 
} 

...首先計算總數然後打印。

for (int i = 0; i < numEmploye; i++){ 
    total += horas[i]; 
} 
cout << total; 
+0

非常感謝! –

0

此外,由於C++ 11,您可以使用這些選項之一:

#include <numeric> 
... 
int total = std::accumulate(std::begin(horas), std::end(horas), 0); 
std::cout << total << std::endl; 

for (int i : horas) 
    total += i; 
std::cout << total << std::endl;