2015-08-16 55 views
0
#include <iostream> 

using namespace std; 

void show_menu() 
{ 
    cout << "Welcome" << endl; 
    cout << "1) Match line-up" << endl; 
    cout << "2) Match result" << endl; 
    cout << "3) Quit program" << endl; 

} 

int selection() 
{ 
    cout << "Select option" << endl; 

    int input; 
    cin >> input; 

    return input; 
} 

int process (int x) 
{ 
    switch(x) 
    { 
    case 1: 
     cout << "Line ups" << endl; 
    case 2: 
     cout << "Arsenal 3 - Crystal Palace 0" << endl; 
    case 3: 
     cout << "Quitting" << endl; 
    default: 
     cout << "Select Option1" << endl; 
    } 

} 

int main() 
{ 
    show_menu(); 
    int input2 = selection(); 
    process(input2); 

    return 0; 
} 

所以這是一些菜單和輸入選項的代碼,我寫它作爲subroutins一個運動,但在下面我的功能有,我解決throgh問題一些trile和arror,但我仍然沒有得到它。C++函數參數:將數據傳遞給子程序和變量

int process (int x) 
{ 
    switch(x) 
    { 
    case 1: 
     cout << "Line ups" << endl; 
    case 2: 
     cout << "Arsenal 3 - Crystal Palace 0" << endl; 
    case 3: 
     cout << "Quitting" << endl; 
    default: 
     cout << "Select Option1" << endl; 
    } 

} 

爲什麼我需要變量(int x)才能使這個函數工作? 我有一種感覺,我不明白一些非常基本的東西。請幫助)

+1

爲了弄清楚你不明白的東西:爲什麼你有一種感覺,你不需要變量'x'? –

+1

或者有所不同:代碼在你的理解中應該如何表現?爲什麼? –

回答

1

好的,所以函數名是process(意思是你需要處理一些東西) 現在,爲了讓你的函數能夠處理你需要給它的東西來處理它,對嗎?

和x變量是一個int數據類型(int數據類型,因爲它反映了在您的主要方法「輸入」內分配的相同值)是您的參數將與正確的開關情況相匹配你的過程功能。因爲你沒有通過你的函數返回任何東西,所以你不需要聲明它是一個int類型的,你只需要在返回相同的數據類型時聲明一個函數的數據類型,所以在這種情況下,你的功能可能是無效的。

希望這將有助於:)

+0

是的,它只是把所有的東西放在我的頭上,ty。 –

+0

@In_Progress不客氣。 – RIO

0

開關部分檢查是否INT的值x1,2,3或默認(比1,2以外的內容和3),並採取適當的行動(每個案件的不同cout)。 如果您不通過int x進程函數,則無法檢查int x的值。我希望這可以讓事情變得清晰。

相關問題