版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江理工大学信息学院面向对象程序设计实验报告实验名称:类的定义与使用学时安排:3实验类别:设计性实验实验规定:1人1组姓名:邵旸珂学号:8 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1)掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2)掌握类对象的定义;3)理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4)掌握构造函数和析构函数的含义与作用、定义方式和实现,可以根据规定对的定义和重载构造函数。可以根据给定的规定定义类并实现类的成员函数;二、实验原理介绍通过建立类及对象,用类的成员函数和对象访问类的成员;运用建立类的构造函数,完毕类的成员的初始化工作;三、实验设备介绍软件需求:windows或linux下的c++编译器硬件需求:对于硬件方面的规定,建议配置是PentiumIII450以上的CPU解决器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。四、实验内容编写一个程序,模拟电梯的功能。功能接口涉及电梯上行按钮、下行按钮、楼层选择和电梯在行驶过程中的楼层显示。规定:1.由用户选择按上行按钮还是下行按钮,选择操作后再由用户输入要进入的楼层,进而电梯开始运营,显示所到的每一楼层层数。2.假如是上行,则选择输入的楼层号不能比当前楼层号小,否则应给出不合法提醒。3.假如是下行,则选择输入的楼层号不能比当前楼层号大,否则应给出不合法提醒。4.电梯一旦开始运作就会始终运营,直到窗口关闭。5.电梯在通过不同楼层时,最佳每个楼层的显示之间能有延迟,最终停靠的楼层的输出形式能更加醒目。假如可以,在电梯最初开始运营时,能在电梯由内部显示当前日期(提醒:实现这些功能时,需要调用系统api,实现时间显示功能可以使用CDate类)。五程序清单#include<iostream>#include<ctime>#include<windows.h>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<<"您不能上行!"<<endl<<endl;}elseif(floorNumber>floor){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout<<"没这一层!太高啦!您想上天?!"<<endl<<endl;}elseup=true;}voidElevator::setDownButton(){if(currentFloor<floorNumber){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout<<"您不能下行!"<<endl<<endl;}elseif(floorNumber<1){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout<<"没这一层!太低啦!您想入地?!"<<endl<<endl;}elsedown=true;}voidElevator::setFloorNumber(intfloorNumber){if(up){for(;currentFloor<floorNumber;currentFloor++){cout<<"--"<<currentFloor<<"--"<<endl;Sleep(2023);}SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);cout<<"第"<<currentFloor<<"层到了"<<endl<<endl;up=false;}if(down){for(;currentFloor>floorNumber;currentFloor--){cout<<"--"<<currentFloor<<"--"<<endl;Sleep(2023);}SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);cout<<"第"<<currentFloor<<"层到了"<<endl<<endl;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<<"您已经在第一层了!除非您自己打洞,不然我是不会带你下去的!"<<endl<<endl;return0;}switch(n){case1:cout<<"请输入要进入的楼层"<<endl;cin>>floorNumber;setUpButton();setFloorNumber(floorNumber);break;case2:cout<<"请输入要进入的楼层"<<endl;cin>>floorNumber;setDownButton();setFloorNumber(floorNumber);break;case3:return-1;default:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);cout<<"只能选上升和下降!您难道还想玩电梯漂移?!"<<endl<<endl;break;}SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);cout<<"当前电梯停在"<<getCurrentFloor()<<"层"<<endl;}voidElevator::charge(){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);cout<<"---请选择操作---"<<endl;cout<<"|1.上升|"<<endl;cout<<"|2.下降|"<<endl;cout<<"|3.退出|"<<endl;cout<<"|--------------|"<<endl;}intmain(){longa;time(&a);intfloor;cout<<"告诉我总共有几层"<<endl;cin>>floor;Elevatorel(floor);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);cout<<ctime(&a)<<endl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度园林景观规划合同
- 运动鞋市场发展现状调查及供需格局分析预测报告
- 2024年度物流仓储租赁合同
- 软式网球项目评价分析报告
- 2024年度北京市个人汽车租借合同
- 2024年度山地区域水土保持合同:生态环境改善与保护
- 2024年度办公室租赁装修合同
- 红酒盛酒瓶市场发展现状调查及供需格局分析预测报告
- 2024年度农资连锁经营合同
- 2024年度乙状乙方网络安全服务合同
- 运用PDCA康复医学科康复患者训练落实率品管圈QCC汇报
- 乡镇广播应急预案
- 钢包烘烤制度
- DB65T 3952-2016反恐怖防范设置规范 学校
- 土力学地基基础电子书
- 《化镍金之腐蚀》
- 国家电网公司计量现场施工质量工艺规范
- 《把数学画出来 小学画数学教学实践手册》读书笔记思维导图
- 【个人简历】求职简约风PPT模板
- 2023年企业首席质量官试题及答案
- 2023年创新英语大赛题目及答案
评论
0/150
提交评论