c语言电梯运行目标楼层,从电梯问题,看c和c++之间的区别(有点懂了)错觉错觉...

磕磕碰碰的也相继用c和c++构造了不少的电梯了。虽然对自我的表现不满意,但是总体来说还是有一定的收获的,对于c和c++之间的区别感觉也摸到了一点点门道了。。。

用c语言构造电梯的步骤:

第一步:

分析这个电梯所需要完成的功能————把乘客送到目的地,同时记录下完成这个操作的时间,然后比较时间最短

第二步:

需要引入的变量 1.存储电梯现在所在的楼层:now

2.乘客所发出请求的时间:requesttime

3.乘客发出请求的楼层:requestfloor

4.乘客所要去的楼层:tofloor

第三步:

写函数

第一个函数    即运算电梯运行的时间

第二个函数  即电梯运行去目标楼层的函数

用c++构造电梯:

我们面向的是电梯这个对象,而不是电梯运乘客这件事。所以我们是构造类,主要的目的并不是要完成这个问题。

第一步:

构造elevator这个类

(个人感觉为了能够更好的完成应该再加上乘客这个类,就是友元啦,现学现卖一波)怕是错觉

第二步:

私有成员变量:电梯的当前位置及电梯的运行方向。

第三步:

成员函数:

前往目标楼层的函数即Tofloor()

计算经过的时间的函数Time()

电梯停靠在目的楼层上下客的函数stop()

更新这个电梯      nowfloor()

对于c和c++的区别:

在我看来c语言只是针对这个问题而产生的,他是针对问题本身即计算最短时间,即我要求的是电梯完成的动作,电梯是怎么样的,程序员是不用管的,就是说我们所写的代码和问题的联系十分的紧密,即如果没有这个问题就不用提什么代码了

而对于c++而言,我们更关注的是电梯这个对象,通过电梯计算最短时间只是电梯问题中的一种,即如果失去了这个题目电梯这个类依旧有意义,就是有了这个类之后我们想要解决什么问题可以直接引用这个类,和别的问题组合起来,也可以完美的契合。这也就是满足了c++的精神————可理解性、可测试性和可修改性。让代码变得更加灵活。

电梯类:

#include

#include

#include

#include

#include

#include

#include

using namespace std;

class elevator

{

public:

int flag;//通过这个判断电梯是向上还是向下

int currentFloor=0;//电梯现在所在的楼层

int ntime=0;//电梯运行的时间

elevator();

~elevator();

int nowFloor(int toFloor);//现在所在的楼层

int command(int currentFloor, int toFloor, int time);//命令

};

#include "elevator.h"

elevator::elevator()

{

}

elevator::~elevator()

{

}

int elevator::nowFloor(int toFloor)

{

currentFloor = toFloor;

return currentFloor;

}

int elevator::command(int currentFloor, int toFloor, int time)

{

ntime = time;//运送上一位客人最后的时间

ntime += abs(toFloor - currentFloor);

ntime++;

nowFloor(toFloor);//更新电梯现在所在的位置

return ntime;

}

不管怎么样,感觉用起来还挺熟练的,我可能是喜欢上打代码的这种感觉了,我可能变态了吧~~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值