2013-10-24 2 views
0

enter image description hereЯвляется ли мой код правильно изображающим диаграмму?

Что моя функция делает, оно принимает значения прибыли (функция объявлена ​​как fieldProfit) и оценка поля (функция объявлена ​​как fieldScore); и если оба они выше 10, тогда вы получаете значок, следовательно, innerbadge = 1. НО, есть еще одно условие, которое должно быть выполнено, поле или координаты (x, y) должны падать в области, изображенной как заштрихованная в коробке с отверстием посередине. Я написал код для этого, и я просто хотел убедиться, что моя логика/синтаксис верна! Любая помощь приветствуется!

Вот мой код:

int badgeInnerCircle(int x, int y) { 
    double fprofit, fscore; 
    int innerbadge; 

    if ((x >= 1 && x <= 20) && (y >= 1 && y <= 20)) { 
     if (((x == 7 || x == 8) && (y >= 7 && y <= 14)) || ((x == 13 || x == 14) 
     && (y >= 7 && y <= 14)) || ((x >= 7 && x <= 14) && (y == 7 || y == 8)) 
      || ((x >= 7 && x <= 14) && (y == 13 || y == 14))) { 
     fprofit = fieldProfit(x, y); 
     fscore = fieldScore(x, y); 
     if (fprofit >= 10 && fscore >= 10) { 
      innerbadge = 1; 
     } 
     else { 
      innerbadge = 0; 
     } 
     } 
    } 
    else { 
     innerbadge = -1; 
    } 
    return innerbadge; 
} 

ответ

0

нет, ваш код не является правильным.

int innerbadge; 

if (condition) { 
    if (condition) { 
    if (condition) { 
     innerbadge = 1; 
    } 
    else { 
     innerbadge = 0; 
    } 
    } 
    //else unidentified! 
} 
else { 
    innerbadge = -1; 
} 

Вы должны изменить initialisazion на "int innerbadge = 0;" или что-то подходящее

Смежные вопросы