实验一类与对象实验报告材料.docx

上传人:b****6 文档编号:7993947 上传时间:2023-05-12 格式:DOCX 页数:9 大小:61.42KB
下载 相关 举报
实验一类与对象实验报告材料.docx_第1页
第1页 / 共9页
实验一类与对象实验报告材料.docx_第2页
第2页 / 共9页
实验一类与对象实验报告材料.docx_第3页
第3页 / 共9页
实验一类与对象实验报告材料.docx_第4页
第4页 / 共9页
实验一类与对象实验报告材料.docx_第5页
第5页 / 共9页
实验一类与对象实验报告材料.docx_第6页
第6页 / 共9页
实验一类与对象实验报告材料.docx_第7页
第7页 / 共9页
实验一类与对象实验报告材料.docx_第8页
第8页 / 共9页
实验一类与对象实验报告材料.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验一类与对象实验报告材料.docx

《实验一类与对象实验报告材料.docx》由会员分享,可在线阅读,更多相关《实验一类与对象实验报告材料.docx(9页珍藏版)》请在冰点文库上搜索。

实验一类与对象实验报告材料.docx

实验一类与对象实验报告材料

理工大学信息学院

面向对象程序设计实验报告

实验名称:

类的定义与使用学时安排:

3

实验类别:

设计性实验实验要求:

1人1组

邵旸珂学号:

2016329621068

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

一、实验目的

1)掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;

2)掌握类对象的定义;

3)理解类的成员的访问控制的含义,公有、私有和保护成员的区别;

4)掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。

能够根据给定的要求定义类并实现类的成员函数;

二、实验原理介绍

通过建立类及对象,用类的成员函数和对象访问类的成员;

利用建立类的构造函数,完成类的成员的初始化工作;

三、实验设备介绍

软件需求:

windows或linux下的c++编译器

硬件需求:

对于硬件方面的要求,建议配置是PentiumIII450以上的CPU处理器,64MB以上的存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

四、实验容

编写一个程序,模拟电梯的功能。

功能接口包括电梯上行按钮、下行按钮、楼层选择和电梯在行驶过程中的楼层显示。

要求:

1.由用户选择按上行按钮还是下行按钮,选择操作后再由用户输入要进入的楼层,进而电梯开始运行,显示所到的每一楼层层数。

2.如果是上行,则选择输入的楼层号不能比当前楼层号小,否则应给出不合法提示。

3.如果是下行,则选择输入的楼层号不能比当前楼层号大,否则应给出不合法提示。

4.电梯一旦开始运作就会始终运行,直到窗口关闭。

5.电梯在经过不同楼层时,最好每个楼层的显示之间能有延迟,最终停靠的楼层的输出形式能更加醒目。

如果可以,在电梯最初开始运行时,能在电梯由部显示当前日期(提示:

实现这些功能时,需要调用系统api,实现时间显示功能可以使用CDate类)。

五程序清单

#include

#include

#include

usingnamespacestd;

intn,floorNumber;

classElevator

{

private:

intfloor;//电梯总的楼层数

boolup;//是否上行,bool为布尔类型,可取值true或false

booldown;//是否下行

intcurrentFloor;//当前所在楼层

public:

Elevator(intfloor);

voidsetUpButton();//按下上行按钮

voidsetDownButton();//按下下行按钮

voidsetFloorNumber(intfloorNumber);//根据要进入的楼层电梯开始运行,并逐层显示经过的楼层

intgetCurrentFloor();//获得当前所在楼层

voidcharge();

intchoice();

};

Elevator:

:

Elevator(intf)

{

floor=f;

up=false;

down=false;

currentFloor=1;

};

voidElevator:

:

setUpButton()

{

if(currentFloor>floorNumber)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);

cout<<"您不能上行!

"<

}

elseif(floorNumber>floor)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);

cout<<"没这一层!

太高啦!

您想上天?

"<

}

elseup=true;

}

voidElevator:

:

setDownButton()

{

if(currentFloor

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);

cout<<"您不能下行!

"<

}

elseif(floorNumber<1)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);

cout<<"没这一层!

太低啦!

您想入地?

"<

}

elsedown=true;

}

voidElevator:

:

setFloorNumber(intfloorNumber)

{

if(up)

{

for(;currentFloor

{cout<<"--"<

Sleep(2000);}

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

cout<<"第"<

up=false;

}

if(down)

{

for(;currentFloor>floorNumber;currentFloor--)

{cout<<"--"<

Sleep(2000);}

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

cout<<"第"<

down=false;

}

}

intElevator:

:

getCurrentFloor()

{

returncurrentFloor;

}

intElevator:

:

choice()

{

cin>>n;

if(n==2&&getCurrentFloor()==1)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);

cout<<"您已经在第一层了!

除非您自己打洞,不然我是不会带你下去的!

"<

}

switch(n)

{

case1:

cout<<"请输入要进入的楼层"<>floorNumber;setUpButton();setFloorNumber(floorNumber);break;

case2:

cout<<"请输入要进入的楼层"<>floorNumber;setDownButton();setFloorNumber(floorNumber);break;

case3:

return-1;

default:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);

cout<<"只能选上升和下降!

您难道还想玩电梯漂移?

"<

}

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);

cout<<"当前电梯停在"<

}

voidElevator:

:

charge()

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);

cout<<"---请选择操作---"<

cout<<"|1.上升|"<

cout<<"|2.下降|"<

cout<<"|3.退出|"<

cout<<"|--------------|"<

}

intmain()

{

longa;

time(&a);

intfloor;

cout<<"告诉我总共有几层"<

cin>>floor;

Elevatorel(floor);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);

cout<

cout<<"本电梯共"<

while

(1)

{

inti=0;

el.charge();

i=el.choice();

if(i==-1)break;

}

return0;

}

六运行结果

七实验心得

实验很有趣,让我初步体会了程序猿的感受。

通过这个程序,基本掌握了类与对象的知识,还接触了控制台字体颜色改变,和输出系统时间。

收获颇丰。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2