zoukankan      html  css  js  c++  java
  • 第二次面向对象程序设计作业

    c语言和c++实现的大致思路

    C语言
    首先,在读取请求都可以用floor[]数组来实现对请求的存放,然后模拟电梯的运行,在运行中要时时判断是否有没符合条件的请求,如果有就处理请求。同时也要判断是否有乘客进出电梯,如果有电梯就要停靠,电梯停靠,时间就发生改变,就要再次判断是否有新的请求需处理,每当有新的请求或电梯内人员更新,就要重新判断要去往的楼层。
    C++
    因为是c++嘛,所以肯定要建个电梯类,因为成员函数的存在所以可以将在c过程中的几个判断的代码整合成几个成员函数。其实在c的实现中这些也可以用函数来实现,但c++的优势也许就在于可以不用那么多参数,也可以对多个变量进行更改。在主函数中处理请求,调用stop函数,判断是否停靠,再调用goingfloor判断要去的楼层,最后执行going函数实现电梯的运行。

    总的来说,二者还是有很大区别的,但在思路上我用的依旧是c的思路,从面向过程和面向对象名称看来,面向过程解决的是在一个过程中有多个对象参与其中的问题,而面向对象中对象可以同时参与多个过程。嗯,在慕课中有提到许多c++的特性,但这些并不是思想出发点的不同,以上也只是我个人的猜想,对c和c++的不同依旧存在许多疑问。

    电梯类

    #include<iostream>
    using namespace std;
    class Elevatorscheduling
    {
    	public:
    	    
    	    int currentfloor; //当前位置
    	    int indicator; //运行方向
    	    int people;//电梯内人数 
    	    int t;//时间 
    	    int nextfloor;
    	    Elevatorscheduling();//初始化 
    	    ~Elevatorscheduling();
    	    void destinationfloor(int gotofloor);
    	    void showfloor();
    };
    Elevatorscheduling::Elevatorscheduling()
    {
    	currentfloor=0;
    	indicator=0;
    	people=0;
    	t=0;
    }
    Elevatorscheduling::~Elevatorscheduling()
    {
    	
    }
    void Elevatorscheduling::destinationfloor(int gotofloor)
    {
    	nextfloor=gotofloor;
    	if(nextfloor>currentfloor)
    	{
    		indicator=1;
    	}
    	else if(nextfloor<currentfloor)
    	{
    		indicator=-1;
    	}
    }
    void Elevatorscheduling::showfloor()
    {
    	cout<<currentfloor<<endl;
    }
    
  • 相关阅读:
    .net 读写记事本文件
    .net webservers的使用
    对象的复制
    .net form身份验证的配置
    JAVA反射机制
    Java6 脚本引擎(用Java调用JS脚本)调用js
    Ant教程
    JAVA关键字详解
    Java环境配制
    Java常用字符集编码详解
  • 原文地址:https://www.cnblogs.com/wzxzx/p/8995991.html
Copyright © 2011-2022 走看看