欢迎访问有用文档网!

当前位置: 有用文档网 > 述职报告 >

实验一.类与对象实验报告

| 浏览次数:

 浙江理工大学信息学院 面向对象程序设计实验报告 实验名称: 类得定义与使用

 学时安排:3 实验类别:

 设计性实验

  实验要求:1 人 1组 姓名:邵旸珂

 学号:28

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

 一、实验目得 1)掌握类得概念、类得定义格式、类与结构得关系、类得成员属性与类得封装性; 2)掌握类对象得定义; 3)理解类得成员得访问控制得含义,公有、私有与保护成员得区别; 4)掌握构造函数与析构函数得含义与作用、定义方式与实现,能够根据要求正确定义与重载构造函数。能够根据给定得要求定义类并实现类得成员函数; 二、实验原理介绍 通过建立类及对象,用类得成员函数与对象访问类得成员; 利用建立类得构造函数,完成类得成员得初始化工作; 三、实验设备介绍 软件需求: windows 或 linux 下得 c++编译器 硬件需求: 对于硬件方面得要求,建议配置就是Pentium III 450以上得 CPU 处理器,64MB 以上得内存,200MB得自由硬盘空间、CD-ROM驱动器、能支持 24位真彩色得显示卡、彩色显示器、打印机。

 四、实验内容 编写一个程序,模拟电梯得功能.功能接口包括电梯上行按钮、下行按钮、楼层选择与电梯在行驶过程中得楼层显示。

 要求:

 1、由用户选择按上行按钮还就是下行按钮,选择操作后再由用户输入要进入得楼

 层,进而电梯开始运行,显示所到得每一楼层层数.

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

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

 4、电梯一旦开始运作就会始终运行,直到窗口关闭. 5、电梯在经过不同楼层时,最好每个楼层得显示之间能有延迟,最终停靠得楼层得输出形式能更加醒目。如果可以,在电梯最初开始运行时,能在电梯由内部显示当前日期(提示:实现这些功能时,需要调用系统 api,实现时间显示功能可以使用 CDate 类)。

 五 程序清单 #include <iostream〉 #include 〈ctime> #include <windows、h> using namespace std; int n,floorNumber; class Elevator { private:

  数层楼得总梯电//

 ;roolf tniﻩ bool up;

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

 bool down;

  //就是否下行

 int currentFloor; //当前所在楼层 public:

  ;)roolf tni(rotavelEﻩ void setUpButton();

  //按下上行按钮

 void setDownButton();

 //按下下行按钮

 电层楼得入进要据根//

 ;)rebmuNroolf tni(rebmuNroolFtes diovﻩ梯开始运行,并逐层显示经过得楼层

 层楼在所前当得获//;)(roolFtnerruCteg tniﻩ

 ;)(egrahc diovﻩ

 ;)(eciohc tniﻩ}; Elevator::Elevator(int f) {

  floor =f;

  up=false;

  down=false;

  currentFloor=1; }; void Elevator::setUpButton() {

  if(currentFloor>floorNumber)

  {

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

  cout〈<”您不能上行!"〈〈endl〈<endl;

  }

  else if(floorNumber>floor)

  {

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

  cout〈〈”没这一层!太高啦!您想上天?!”<<endl<〈endl;

  }

  else up=true; }

 void Elevator::setDownButton()

 {

  if(currentFloor〈floorNumber)

  {

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

  cout〈〈"您不能下行!”<〈endl〈<endl;

  }

  else if(floorNumber〈1)

  {

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

  cout<〈"没这一层!太低啦!您想入地?!"<<endl<〈endl;

  }

  else down=true; } void Elevator::setFloorNumber(int floorNumber)

 {

  if(up)

  {

  for(;currentFloor〈floorNumber;currentFloor++)

  {

  cout〈〈”--"<<currentFloor〈<”—-"〈〈endl;

  Sleep(2000);}

  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(2000);}

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

  cout〈<"第”〈〈currentFloor<〈”层到了”〈〈endl<<endl;

  down=false;

  } } int Elevator::getCurrentFloor() {

  return currentFloor; } int Elevator::choice() {

  cin>>n;

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

  {

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

  cout<〈"您已经在第一层了!除非您自己打洞,不然我就是不会带您下去得!”<<endl〈<endl;return 0;

 }

  switch(n)

  {

  case 1:cout〈〈”请输入要进入得楼层"<〈endl;cin>>floorNumber;setUpButton();setFloorNumber(floorNumber); break;

  case 2:cout<<"请输入要进入得楼层”〈<endl;cin>>floorNumber;setDownButton();setFloorNumber(floorNumber);break;

  case 3: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; } void Elevator::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; } int main() {

  long a;

  time(&a);

  int floor;

  cout〈〈"告诉我总共有几层"〈<endl;

  cin〉>floor;

  Elevator el(floor);

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

  cout〈<ctime(&a)<<endl;

  cout〈<”本电梯共"〈〈floor〈〈"层,欢迎您得使用"〈<endl<<endl;

  while(1)

  {

  int i=0;

  el、charge();

  i=el、choice();

  if(i==—1) break;

  }

  return 0; } 六 运行结果

  七 实验心得 实验很有趣,让我初步体会了程序猿得感受。通过这个程序,基本掌握了类与对象得知识,还接触了控制台字体颜色改变,与输出系统时间。收获颇丰。

推荐访问:实验 对象 报告

热门排行Top Ranking

弦振动实验报告

弦振动得研究 一、实验目得 1、观察固定均匀弦振动共振干涉形成驻波时得波形,加深驻波得认识。 2、了

宣传委员述职报告12020 幼儿园党支部宣传委员述职报告

下面是小编为大家精心整理的宣传委员述职报告12020幼儿园党支部宣传委员述职报告文章,供大家阅读参考。宣传委员述

党建工作现场述职会上讲话 公安局长在党建工作现场会上的讲话

下面是小编为大家精心整理的党建工作现场述职会上讲话公安局长在党建工作现场会上的讲话文章,供大家阅读参考。党建工作现场

支部宣传委员述职述廉报告范例 幼儿园党支部宣传委员述职报告

下面是小编为大家精心整理的支部宣传委员述职述廉报告范例幼儿园党支部宣传委员述职报告文章,供大家阅读参考。支部宣传

政治生态评估报告5篇

可能会捆绑住经办人员的手脚,不利于业务工作的开展。致使个别中层干部主体责任压力传导出现能量损耗;个别

2021年领导述职报告合集2020 县领导述职报告

下面是小编为大家精心整理的2021年领导述职报告合集2020县领导述职报告文章,供大家阅读参考。2

工商局监察室主任述职述廉报告

工商局监察室主任述职述廉报告 第一篇:工商局监察室主任述职述廉报告 我叫haoword,中共党员,现

党支部书记个人述职报告 对村党支部书记述职报告的点评

下面是小编为大家精心整理的党支部书记个人述职报告对村党支部书记述职报告的点评文章,供大家阅读参考。党支部书记个人

财务分析课程报告4篇

财务分析课程报告4篇财务分析课程报告篇1一年来,在领导和同事们的的支持帮助和指导下,加上自身的不断努

结合乡村振兴战略人才工作述职报告 乡村振兴工作员年度述职

下面是小编为大家精心整理的结合乡村振兴战略人才工作述职报告乡村振兴工作员年度述职文章,供大家阅读参考。结合

个人安全生产履职报告[安全生产述职报告] 党委书记安全生产履职报告

下面是小编为大家精心整理的个人安全生产履职报告[安全生产述职报告]党委书记安全生产履职报告文章,供大家阅读参

企业年度工作总结报告范文13篇

企业年度工作总结报告范文13篇企业年度工作总结报告范文篇1时光飞逝,转眼已经毕业一年了,我顺利地完成