2013-10-24 59 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;」或一些相關的東西

相關問題