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()
    {
    }
    
  • 相关阅读:
    面试汇总——说一下CSS盒模型
    各厂面试题汇总
    为网页背景添加一个跟随鼠标变幻的动态线条
    lnmp一键安装包
    java独立小程序实现AES加密和解密
    git命令note
    不可思议的纯 CSS 滚动进度条效果
    Git-Book
    CentOS搭建Git服务器及权限管理
    vim编辑器里shift + 3 出现高亮问题,怎么取消掉
  • 原文地址:https://www.cnblogs.com/zhanglingxin/p/8999388.html
Copyright © 2011-2022 走看看