zoukankan      html  css  js  c++  java
  • 第三次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()
    {
    }
    
  • 相关阅读:
    linux下shell显示-bash-4.1#不显示路径解决方法
    update chnroute
    An error "Host key verification failed" when you connect to other computer by OSX SSH
    使用dig查询dns解析
    DNS被污染后
    TunnelBroker for EdgeRouter 后记
    mdadm详细使用手册
    关于尼康黄的原因
    Panda3d code in github
    Python实例浅谈之三Python与C/C++相互调用
  • 原文地址:https://www.cnblogs.com/zhanglingxin/p/8999388.html
Copyright © 2011-2022 走看看