2012-03-03 18 views
0
#include <iostream> 
#include <conio.h> 
using namespace std; 

class NumberBox 
{ 
private: 

    int number; 

public: 

    NumberBox *next_ptr; 
    void setNumber(int number) 
    { 
     this->number = number; 
    } 


    int getNumber() 
    { 
     return number; 
    } 
}; 

int main() 
{ 
    int number[5]; 
    int counter; 
    cout << "Please give 5 numbers" << endl; 
    for(counter = 4; counter > - 1; counter--) 
    { 
     cin >> number[counter]; 
    } 


    NumberBox *numberBoxListHead_ptr = new NumberBox(); 
    NumberBox *numberBoxListBody1_ptr = new NumberBox(); 
    NumberBox *numberBoxListBody2_ptr = new NumberBox(); 
    NumberBox *numberBoxListBody3_ptr = new NumberBox(); 
    NumberBox *numberBoxListTail_ptr = new NumberBox(); 

    numberBoxListHead_ptr->setNumber(number[4]); 
    numberBoxListHead_ptr->next_ptr = numberBoxListBody1_ptr; 

    if(numberBoxListHead_ptr->getNumber() == '5') 
    { 
     cout << "Outcome should be..." << endl; 
    } 
    numberBoxListBody1_ptr->setNumber(number[3]); 
    numberBoxListBody1_ptr->next_ptr = numberBoxListBody2_ptr; 
    if(numberBoxListHead_ptr->next_ptr->getNumber() == '5') 
    { 
     cout << "Use this as" << endl; 
    } 

    numberBoxListBody2_ptr->setNumber(number[2]); 
    numberBoxListBody2_ptr ->next_ptr = numberBoxListBody3_ptr; 
    if(numberBoxListBody1_ptr->next_ptr->getNumber() == '5') 
    { 
     cout << "Work" << endl; 
    } 

    numberBoxListBody3_ptr->setNumber(number[1]); 
    numberBoxListBody3_ptr->next_ptr = numberBoxListTail_ptr; 
    if(numberBoxListBody2_ptr->next_ptr->getNumber() == '5') 
    { 
     cout << "Please work" << endl; 
    } 

    numberBoxListTail_ptr->setNumber(number[0]); 
    if(numberBoxListBody3_ptr->next_ptr->getNumber() == '5') 
    { 
     cout << "Work???" << endl; 
    }; 

    getch(); 

} 

對於結局,我怎樣才能使「if語句列表裏面工作?因爲我給的值,將有滿足。如果聲明「但是,它給出了空白。使用循環取號給它列表(壯舉陣列)

如果我編輯節點發送一個數字來滿足條件會工作嗎?

+0

請嘗試給簡約的程序顯示問題 – 2012-03-03 13:25:47

+0

我不知道如何使這個更小。 – JuanDelCarlos 2012-03-03 13:26:41

+1

你總是調用'getNumber'而不是'setNumber'。如果這不是錯字,那是你的錯誤。 – mkaes 2012-03-03 13:27:27

回答

1

在撥打getNumber()之前,您需要致電setNumber()

numberBoxListHead_ptr->setNumber(number[0]); 
numberBoxListHead_ptr->next_ptr = numberBoxListBody1_ptr; 
cout << "The first number is " << numberBoxListHead_ptr->getNumber(number[0]) << endl; 

然後對其他數字重複此操作。

此外,您實際上並不需要完全傳遞給getNumber()的'takenumber'參數。

+0

謝謝!找到了。 – JuanDelCarlos 2012-03-03 13:32:07

1

numberBoxListHead_ptr->getNumber(number[0]);這個沒做什麼,你應該在這裏用setNumber。此外,您的getNumber函數不應該採取任何參數,因爲它不是必需的。並且,使getNumber成爲一個const成員函數。

+0

我被節點弄混了指針。謝謝! – JuanDelCarlos 2012-03-03 13:33:02