2016-10-26 9 views
1
for (int i = 0; i < 7; i++) 
     { 
      for (int j = 0; j < 3; j++) 
      { 

       cout << "Enter meal " << j + 1 << " for day " << i + 1 << ":" << endl; 
       cin >> menu[i][j]; 

     switch (menu[j][k]) 
       { 
       //cases here 
       } 

         sum += calories;  

      } 
     } 
        cout<<calories; 

これは私のコードの一部です。1日3食を1週間保管する必要がありますが、問題は計算部分です..私は毎日のカロリー摂取量を計算し、それを表示する必要がありますが、私のコードは1週間の総カロリー摂取量を計算しています。私は毎日それを計算する方法については全く考えていません あなたは私を導くことができますか?2d配列:毎週の代わりに毎日の値を取得する方法

答えて

1

毎日(外側ループの反復ごとに)印刷し、毎日sumを0に設定しないでください(外側ループの反復ごとに)。

for (int j = 0; j < 7; j++) 
{ 
    sum = 0; 
    for (int k = 0; k < 3; k++) 
    { 
      cout << "Enter meal " << k + 1 << " for day " << j + 1 << ":" << endl; 
      cin >> menu[j][k]; 

      switch (menu[j][k]) 
      { 
       // cases here. 
      } 

      sum += calories;  
    } 
    std::cout << sum << std::endl; 


} 
+1

'sum'の初期化が最初に行われる必要があります。そうでない場合、最初のパスでガベージになります。 – erip

+0

@erip OPはこれが彼のコードの一部分だと言った。 –

+0

'sum'を最初のループの先頭で初期化することができます。 – erip

関連する問題