2013-12-12 96 views
0

我希望有人可以給我一個如何發送兩個數組的想法 - 可能作爲一個對象 - 我必須一個類成員函數,然後添加一個數組的元素並設置總額等於銷售額.. 我正在處理每個部門的季度銷售總額。我認爲我很接近但有些麻煩。我的目標結果是所有分部的總收入總額,但只是利用類來實現這一目標。傳遞二維數組到類成員函數

任何有識之士將不勝感激!

(原諒任何錯字或格式化,因爲我仍然位於C很新++)

class Corpsales 
{ 
private: 

static double totSales; 


public: 
Corpsales() 

{ 

    totSales = 0; 

} 

void calcQrtSales (Corpsales qrtsalesarray[]) 
{ 


totSales += qrtsalesarray[div][qtr]; 

} 

double showTotSales() 

{ 
    return totSales; 
} 

} 

const int SALES_DIV = 6; 
const int SALES_QRT = 4; 
double qrtSales; 
int divs; 

int main(){ 


Corpsales divsales[SALES_DIV][SALES_QRT]; 

cout<< "Please enter Sales for 6 Divisions: " << endl; 

for (int div = 0 ; div < SALES_DIV ; div++) 
{ 

    for (int qrt = 0 ; qrt < SALES_QRT ; qrt ++) 


    { 
cout << " Division " << (div+1) << " -> Quarter " << (qrt +1) <<   ":"; 
     cin >> divsales[div][qrt]; 
    //here is my issue i think-->>> //divsales[qrt].calcQrtSales(qrtSales); 
    } 


} 

return 0; 
} 
+1

僅供參考,爲了便於閱讀,您應該在類內縮進代碼。 –

回答

0

要傳遞一個二維數組作爲參數:

void calcQrtSales (Corpsales[][] qrtsalesarray) 
{ 
    totSales += qrtsalesarray[div][qtr]; 
} 
+0

謝謝我會試試看看它是否有效 – user2920627

0

這是你如何傳遞靜態二維數組。爲了兼容性,大小在宏中定義,而不是在const int中定義。

#define SALES_DIV 6 
#define SALES_QRT 4 

void calcQrtSales (Corpsales (qrtsalesarray)[SALES_DIV][SALES_QRT]) 
{ 
    totSales += qrtsalesarray[div][qtr]; 
} 
+0

感謝您花時間回覆egur,我很感激。我會試着看看他們是否適合我! – user2920627

0

所以這部分看起來不錯呢?

cout << " Division " << (div+1) << " -> Quarter " << (qrt +1) << ":"; 
    cin >> divsales[div][qrt]; 

    <b>here is my issue i think-->>> </b>   divsales[qrt].calcQrtSales(qrtSales); 
    }