2013-04-27 154 views
0

我正在尝试创建一个计算每年总图书销售额的循环。我还需要计算过去三年的图书销售总额。使用for循环和二维数组的C++求和

我已经算出了如何计算所有3年的总和,但是我每年的总书籍订单的计算都有问题。这是我到目前为止。

const int months = 12; 
    const int years =3; 
    string namonths [months] = {"January", "February", "March", "April", 
       "May", "June", "July", "August", "September", 
       "October", "November", "December"}; 
int bookorders[years][months]; 
int sum=0; 

for (int i = 0; i < years ; i++) { 
for (int n = 0; n < months; n++) { 

    std::cout << "Year " << i + 1 << " Month " << namonths[n] <<":"<< std::endl; 

    cin >> bookorders[i][n]; 

    sum += bookorders[i][n]; 
} 

} 

// std::cout << "total orders are for each year are: " << sum <<std::endl; 
std::cout << "total orders are " << sum <<std::endl; 
+0

使用了'namonths'作为'string'和数组索引 - 这是否甚至编译? – 2013-04-27 09:34:14

回答

1
  1. 添加存储每年的资金一个新的变量: int sumPerYear[years];
  2. 两者之间的发言: sumPerYear[i] = 0;
  3. 然后在for循环的核心说: sumPerYear[i] += bookorders[i][n];
  4. 最后最后: for (int i = 0; i < years ; i++) std::cout << "year " << i << " sum: " << sumPerYear[i] << std::endl;
0

这里试试这个。 sumperYear是最初为零的变量。在外循环的每个迭代中,将显示sumperYear。

for (int i=0; i<years; i++) { for (int j=0 ; j< months; j++) { sumperYear+=bookOrders[i][j]; } cout<<"For the year:" << i+1 << " the total orders are: "<< sumperYear; sumperYear=0; }