2015-02-05 2 views
-5

Моя петля не печатает свою 6-ю запись.My Loop кажется сломанным

Он должен отображать 0 4 0 на линии, но он просто пропускает его.

#include "stdafx.h" 
#include <iostream> 
using namespace std; 

const int NUMPLANTTYPES = 7; 

int main() 
{ 
    double PlantNumbers[NUMPLANTTYPES] = {25, 56, 44, 120, 16, 0, 15}; 
    int PotSize[NUMPLANTTYPES] = {3, 4, 1, 2, 3, 4, 1}; 
    double TotalCosts[NUMPLANTTYPES] = { 10, 10, 3.5, 6.99, 10, 10, 3.5 }; 

    cout << "PlantSold\t PotSize\tTotalCosts " << endl; 
    for (int MAXSALES = 0; MAXSALES < 7; MAXSALES++) 
    { 
     if (PlantNumbers[MAXSALES] > 8) 
     { 
      float TotalCost = (PlantNumbers[MAXSALES] * TotalCosts[MAXSALES]); 

      cout << PlantNumbers[MAXSALES] << "\t\t " << PotSize[MAXSALES] << "\t\t " << TotalCost << endl; 
     } 
    } 

    int a; 
    cin >> a; 

    return 0; 
} 

Любая помощь была бы принята с благодарностью!

+6

, что вы думаете, 'если (PlantNumbers [MAXSALES]> 8)' делает? –

+4

Пожалуйста, используйте отладчик! – Drop

+0

@abelenky эта переменная объявлена: 'float TotalCost = (PlantNumbers [MAXSALES] * TotalCosts [MAXSALES]);' –

ответ

3

Моя петля не печатает свою 6-ю запись, никакой помощи?

Да, потому что PlantNumbers[5] равен 0, и из-за:

if (PlantNumbers[MAXSALES] > 8) 
Смежные вопросы