第三次C++做業

在用兩種語言完成電梯調度問題時的感覺

用C語言完成的電梯做業時:

當我用C語言實現電梯問題的時候,我首先想到的就是怎麼才能實現這個調度。
我首先把一個模擬電梯的函數給打了出來,先讓這個程序模擬電梯的運行,而後加入了算法。在C語言完成電梯問題的過程當中,我用了一個,我用了不少的函數來實現這個電梯的代碼。就是想着怎麼讓這個電梯能完成這個最短期的分配就好。因而我就把全部的變量寫在這個Cpp裏。
  我是這麼完成的:
  1. 首先在代碼中寫出代碼須要的變量。
  2. 而後我在把模擬電梯的函數打好。
    3。再加入電梯的調度算法。算法

    我用C++完成電梯問題時:

    我先創建了一個elevator類,而後再將這個類中的有關電梯的代碼,電梯的變量打進去。就好像這個是專門負責電梯這一塊的。在用C++打電梯的調度問題時,我用了一個cpp,一個.h把負責電梯的這一塊代碼寫好,再放進頭文件裏。
    就是以爲若是C語言來實現這個代碼的時候是一個車間的話,C++則是一個公司吧。。不知道這樣說對不對emmm.
    而後下面是個人類。函數

class elevector
{
public:
    int currentFloor;
    int input[3];
    int time;
    int floor;
    int passengerFloor;
    int targetFloor;
    int requestTime;
    elevector(void) ;
    ~elevector() ;
    void goToFloor1(int passengerFloor, int targetFloor, int requestTime, int *time, int* floor);
    void goToFloor2(int passengerFloor, int targetFloor, int requestTime, int *time, int* floor);
    void stop(int* time);
    //void updateDestinationQ(int floor);


};
void elevector::goToFloor1(int passengerFloor, int targetfloor, int requestTime, int *time, int* floor)
{
    int *nowTime;
    nowTime = time;
    if (requestTime > *nowTime)
        *time += (abs)(requestTime - *nowTime);
    *time += (abs)(*floor - targetfloor);
    *floor = targetfloor;
}
void elevector::goToFloor2(int passengerFloor, int targetfloor, int requestTime, int *time, int* floor)
{
    int *nowTime;
    nowTime = time;
    if (requestTime>*nowTime)
        *time += (abs)(requestTime - *nowTime);
    *time += (abs)(*floor - passengerFloor);
    *floor = passengerFloor;
}
void elevector::stop(int* time)
{
    *time += 1;
}
elevector::elevector(void)
{
}


elevector::~elevector()
{
}
相關文章
相關標籤/搜索