c++初学(电梯实验)
模拟电梯载人实验
Elevator.h
class Elevator{
public:
Elevator();
~Elevator();
void getNowNum();
void SetToNum(int);
void UP();
void DOWN();
private:
int NowNum;
int ToNum;
};
Elevator.cpp
#include<iostream>
#include<Windows.h>
#include"Elevator.h"
using namespace std;
Elevator::Elevator()
{
NowNum = 1;
ToNum = 10;
}
Elevator::~Elevator()
{
}
void Elevator::getNowNum()
{
HANDLE consolehwnd;
consolehwnd = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consolehwnd, 10);
cout << "您现在在" << NowNum << "楼" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY
| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
cout << "请选择:";
cout << "1.上升 2.下降 3.退出 " ;
}
void Elevator::SetToNum(int a)
{
ToNum = a;
}
void Elevator::UP()
{
int i;
if (ToNum < NowNum)
cout << "你不能上行" << endl;
else if (ToNum == NowNum)
cout << "亲,你就在这一层了,别调皮" << endl;
else
{
for ( i = NowNum+1; i <= ToNum & i<=10; i++)
{
cout << "现在到了第" << i << "层了,我们就快到了" << endl;
Sleep(500);
}
if (ToNum>10)
{
ToNum = i-1;
cout << "以上楼层正在建设中,您只能到这里了。" << endl;
NowNum = 10;
}
else
NowNum = ToNum;
}
}
void Elevator::DOWN()
{
int i;
if (ToNum > NowNum)
cout << "你不能下行" << endl;
else if (ToNum == NowNum)
cout << "亲,你就在这一层了,别调皮" << endl;
else
{
for ( i = NowNum - 1; i >= ToNum & i>=1; i--)
{
cout << "现在到了第" << i << "层了,我们就快到了" << endl;
Sleep(500);
}
if (ToNum<1)
{
ToNum = i+1;
cout << "地下室正在挖,您过两天才能下去。" << endl;
NowNum = 1;
}
else
NowNum = ToNum;
}
}
demo.cpp
#include<iostream>
#include<Windows.h>
#include"Elevator.h"
using namespace std;
int main()
{
Elevator e1;
int choice,to;
SYSTEMTIME time;
GetLocalTime(&time);
printf("%4d年%02d月%02d日 %02d:%02d:%02d 星期%1d\n", time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond, time.wDayOfWeek);
cout << "欢迎乘坐电梯\n" << endl;
while (1)
{
e1.getNowNum();
cout<<"输入你的选择:";
cin >> choice;
e1.SetToNum(to);
switch(choice)
{
case 1:{
cout<<"输入你要去的楼层:"<<endl;
cin>>to;
e1.SetToNum(to);
e1.UP();break;
}
case 2:{
cout<<"输入你要去的楼层:"<<endl;
cin>>to;
e1.SetToNum(to);
e1.DOWN();break;
}
case 3:
return 0;
default:
cout<<"输入错误!"<<endl;
}
}
system("pause");
return 0;
}
c++初学(电梯实验)的更多相关文章
- c++初学(电梯实验加强版)
Elevator.h class Elevator{public: Elevator(); ~Elevator(); void getNowNum(); void Se ...
- 基于单层决策树的AdaBoost算法原理+python实现
这里整理一下实验课实现的基于单层决策树的弱分类器的AdaBoost算法. 由于是初学,实验课在找资料的时候看到别人的代码中有太多英文的缩写,不容易看懂,而且还要同时看代码实现的细节.算法的原理什么的, ...
- 微型计算机系统实验总结(学习性实验:IO地址译码,可编程并行接口8255,交通灯控制实验 + 自主设计实验:汽车信号灯控制系统,电风扇控制器,洗衣机控制系统,霓虹灯,电梯控制系统)
实验配套软件: https://download.csdn.net/download/qq_39932172/11221584 实验指导用书: 教师版: https://download.csdn.n ...
- PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题
本人刚参加PHP基础班培训第一天,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在 ...
- 201771030115-牛莉梅 实验一 软件工程准备-<初学《构建之法--现代软件工程》的疑问>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...
- SQL学习(1)初学实验:SQL Server基本配置及基本操作
网络配置.远程连接配置: 防火墙设置: SQL Server的默认端口号是1433. 网络配置: SQLServer Configuration Manager中的客户端协议,众多IP中随便选一个,比 ...
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...
- 初学javaweb,远离各自框架
OSCHINA 软件库有一个分类--Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项 ...
- (2015秋) 作业6:(电梯系统之结对编程 I 总分=2*50 分)
电梯系统 0. 背景 南通大学钟秀校区“主教学楼” 用 2 部电梯(连地下室共9层):每到下课.上课前都特别拥挤,大家希望改进已有的电梯调度算法,满足学生和老师快速乘坐电梯的需要.因此,需要重新设计一 ...
随机推荐
- C# 上传文件至远程服务器
C# 上传文件至远程服务器(适用于桌面程序及web程序) 2009-12-30 19:21:28| 分类: C#|举报|字号 订阅 最近几天在玩桌面程序,在这里跟大家共享下如何将本地文件上传 ...
- [转]PHP经验——PHPDoc PHP注释的标准文档
文档翻译自:http://en.wikipedia.org/wiki/Phpdoc 标记 用途 描述 @abstract 抽象类的变量和方法 @access public, private or ...
- css伪类 伪元素
之前写了一篇 <详解 CSS 属性 - :before && :after> 的博文,当时自己没分清楚伪元素和伪类,所以在文章内把概念混淆了,庆幸 @riophae 兄指正 ...
- jstat undocumented
jstat -J-Djstat.showUnsupported=true -name btrace.com.sun.btrace.samples.ThreadCounter.count 11674 h ...
- Size Balanced Tree(SBT) 模板
首先是从二叉搜索树开始,一棵二叉搜索树的定义是: 1.这是一棵二叉树: 2.令x为二叉树中某个结点上表示的值,那么其左子树上所有结点的值都要不大于x,其右子树上所有结点的值都要不小于x. 由二叉搜索树 ...
- 背景透明IE和rgba
opacity:0.5; filter:Alpha(opacity=40); //IE8以下 当我们设置opacity透明时,opacity后代元素会随着一起具有透明性,所以我们Opacity中的文字 ...
- Linux:网络yum源设置
网络yum源,最大的网易(163)算是一个,无论是速度还是软件版本,都非常的不错,将yum源设置为163yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到.具体设置方法如下: 1 ...
- 在Delphi中使用C++对象(转)
源:http://blog.csdn.net/henreash/article/details/7352335 Delphi是市场上最好的RAD工具,但是现在C++占据着主导地位,有时针对一个问题很难 ...
- RMQ问题再临
RMQ问题再临 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 终于,小Hi和小Ho踏上了回国的旅程.在飞机上,望着采购来的特产——小Hi陷入了沉思:还记得在上上周他们去 ...
- vmware中的bridge、nat、host-only的区别
概述: VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模 ...