亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? elev.cpp

?? 很好的一個C++控制臺程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// elev.cpp
// contains class data and member function definitions

#include "elev.h"     //include class declarations
////////////////////////////////////////////////////////////////
//           function definitions for class building      
////////////////////////////////////////////////////////////////
building::building()                 //constructor
{
   char ustring[BUF_LENGTH];         //string for floor numbers

   init_graphics();                  //initialize graphics
   clear_screen();                   //clear screen
   car = new elevator(this, 0);
   for(int j=0; j<NUM_FLOORS; j++)   //for each floor
   {
      set_cursor_pos(3, NUM_FLOORS-j);  //put floor number
      itoa(j+1, ustring, 10);           //on screen
      cout << setw(3) << ustring;
      floor_request[UP][j] = false;  //no floor requests yet
      floor_request[DN][j] = false;
   }
}  //end constructor
//--------------------------------------------------------------
building::~building()                //destructor
{
    //destroy elevators
      delete car;
}
//--------------------------------------------------------------
void building::master_tick()         //master time tick
{
   show_floor_reqs();                //display floor requests
   car->car_tick1();      //send it time tick 1
   car->car_tick2();      //send it time tick 2
}  //end master_tick()
//--------------------------------------------------------------
void building::show_floor_reqs() const  //display floor requests
{
   for(int j=0; j<NUM_FLOORS; j++)
   {
      set_cursor_pos(SPACING, NUM_FLOORS-j);
      if(floor_request[UP][j]==true)
         cout << '\x1E';             //up arrow
      else
         cout << ' ';
      set_cursor_pos(SPACING+3, NUM_FLOORS-j);
      if(floor_request[DN][j]==true)
         cout << '\x1F';             //down arrow
      else
         cout << ' ';
   }
}  //end show_floor_reqs()
//--------------------------------------------------------------
//record_floor_reqs() -- get requests from riders outside car
void building::record_floor_reqs()
{
   char ch = 'x';             //utility char for input
   char ustring[BUF_LENGTH];  //utility string for input
   int iFloor;                //floor from which request made
   char chDirection;          //'u' or 'd' for up or down
   
   set_cursor_pos(1,22);      //bottom of screen
   cout << "Press [Enter] to call an elevator: ";
   if( !kbhit() )             //wait for keypress (must be CR)
      return;
   cin.ignore(10, '\n');
   if(ch=='\x1B')             //if escape key, end program
      exit(0);
   set_cursor_pos(1,22); clear_line();  //clear old text
   set_cursor_pos(1,22);      //bottom of screen
   cout << "Enter the floor you're on: ";
   cin.get(ustring, BUF_LENGTH);        //get floor
   cin.ignore(10, '\n');      //eat chars, including newline
   iFloor = atoi(ustring);    //convert to integer

   cout << "Enter direction you want to go (u or d): ";
   cin.get(chDirection);      //(avoid multiple linefeeds)
   cin.ignore(10, '\n');      //eat chars, including newline

   if(chDirection=='u' || chDirection=='U')
      floor_request[UP][iFloor-1] = true;  //up floor request
   if(chDirection=='d' || chDirection=='D')
      floor_request[DN][iFloor-1] = true;  //down floor request
   set_cursor_pos(1,22); clear_line();     //clear old text
   set_cursor_pos(1,23); clear_line();
   set_cursor_pos(1,24); clear_line();
}  //end record_floor_reqs()
//--------------------------------------------------------------
//get_floor_req() -- see if there's a specific request
bool building::get_floor_req(const int dir,
                             const int floor) const
{
   return floor_request[dir][floor];
}
//--------------------------------------------------------------
//set_floor_req() -- set specific floor request
void building::set_floor_req(const int dir, const int floor,
                             const bool updown)
{
   floor_request[dir][floor] = updown;
}
//--------------------------------------------------------------
//get_cars_floor() -- find where a car is
int building::get_cars_floor() const
{
   return car->get_floor();
}
//--------------------------------------------------------------
//get_cars_dir() -- find which way car is going
direction building::get_cars_dir() const
{
   return car->get_direction();
}
//--------------------------------------------------------------

/////////////////////////////////////////////////////////////////
//           function definitions for class elevator
/////////////////////////////////////////////////////////////////
                                     //constructor
elevator::elevator(building* ptrB, int nc) : 
                               ptrBuilding(ptrB), car_number(nc)
{
   current_floor = 0;                //start at 0 (user's 1)
   old_floor = 0;                    //remember previous floor
   current_dir = STOP;               //stationary at start
   for(int j=0; j<NUM_FLOORS; j++)   //occupants have not pushed
      destination[j] = false;        //   any buttons yet
   loading_timer = 0;                //not loading yet
   unloading_timer = 0;              //not unloading yet
}  //end constructor
//--------------------------------------------------------------
int elevator::get_floor() const      //get current floor
{
   return current_floor;
}
//--------------------------------------------------------------
direction elevator::get_direction() const  //get current
{                                       //  direction
   return current_dir;
}
//--------------------------------------------------------------
void elevator::car_tick1()           //tick 1 for each car
{
   car_display();                    //display elevator box
   dests_display();                  //display destinations
   if(loading_timer)                 //count down load time
      --loading_timer;
   if(unloading_timer)               //count down unload time
      --unloading_timer;
   decide();                         //decide what to do
}  //end car_tick()
//--------------------------------------------------------------
//all cars must decide before any of them move
void elevator::car_tick2()           //tick 2 for each car
{
   move();                           //move car if appropriate
}
//--------------------------------------------------------------
void elevator::car_display()         //display elevator image
{
   set_cursor_pos(SPACING+(car_number+1)*SPACING, NUM_FLOORS-old_floor);
   cout << "   ";                    //erase old position
   set_cursor_pos(SPACING-1+(car_number+1)*SPACING,
                                      NUM_FLOORS-current_floor);
   switch(loading_timer)
   {
      case 3:
         cout << "\x01\xDB \xDB ";   //draw car with open door
         break;                      //happy face on left
      case 2:
         cout << " \xDB\x01\xDB ";   //happy face in open door
         get_destinations();         //get destinations
         break;
      case 1:
         cout << " \xDB\xDB\xDB ";   //draw with closed door
         break;                      //no happy face
      case 0:
         cout << " \xDB\xDB\xDB ";   //closed door, no
         break;                      //happy face (default)
   }
   set_cursor_pos(SPACING+(car_number+1)*SPACING,
                                    NUM_FLOORS-current_floor);
   switch(unloading_timer)
   {
      case 3:
         cout << "\xDB\x01\xDB ";    //draw car with open door
         break;                      //happy face in car
      case 2:
         cout << "\xDB \xDB\x01";    //draw car with open door
         break;                      //happy face on right
      case 1:
         cout << "\xDB\xDB\xDB ";    //draw with closed door
         break;                      //no happy face
      case 0:
         cout << "\xDB\xDB\xDB ";    //closed door, no
         break;                      //happy face (default)
   }
   old_floor = current_floor;        //remember old floor
}  //end car_display()
//--------------------------------------------------------------
void elevator::dests_display() const //display destinations
{                                 //   selected by buttons
   for(int j=0; j<NUM_FLOORS; j++)   //   inside the car
   {
      set_cursor_pos(SPACING-2+(car_number+1)*SPACING, NUM_FLOORS-j);
      if( destination[j] == true )
         cout << '\xFE';             //small box
      else
         cout << ' ';                //blank
   }
}  //end dests_display()
//--------------------------------------------------------------
void elevator::decide()               //decide what to do
{
   int j;
   //flags indicate if destinations or requests above/below us

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产精品免费| 久久品道一品道久久精品| 91精品婷婷国产综合久久性色| www国产精品av| 亚洲一区av在线| 国产99久久久国产精品潘金| 欧美精品v国产精品v日韩精品| 久久久精品黄色| 美日韩黄色大片| 在线播放中文字幕一区| 最新国产の精品合集bt伙计| 欧美系列亚洲系列| 亚洲视频一区二区在线| 国产精品一区二区果冻传媒| 欧美一级日韩一级| 一区二区三区四区av| 成人午夜av影视| 久久九九久久九九| 老司机精品视频一区二区三区| 91久久香蕉国产日韩欧美9色| 国产精品视频一二三区| 精品亚洲国产成人av制服丝袜| 欧美另类videos死尸| 亚洲五月六月丁香激情| 欧美专区亚洲专区| 夜夜亚洲天天久久| 91老师国产黑色丝袜在线| 亚洲欧美在线视频| 成人不卡免费av| 国产精品盗摄一区二区三区| 成人国产精品免费观看| 亚洲国产高清在线观看视频| 久久精品久久99精品久久| 欧美一区二区三区视频免费| 日韩在线播放一区二区| 欧美一区二区三区啪啪| 日产国产高清一区二区三区| 欧美久久一二三四区| 天天av天天翘天天综合网| 欧美精品一级二级三级| 天堂资源在线中文精品| 日韩免费视频线观看| 精品一区二区在线视频| 久久久久久久久97黄色工厂| 国产高清一区日本| 国产精品久久久久久久久免费樱桃 | 国产精品996| 久久精品人人做人人爽97| 国产精品资源站在线| 亚洲国产精品精华液ab| 91在线观看美女| 亚洲一区二区欧美| 日韩一区二区三区视频在线 | 国产精品乡下勾搭老头1| 国产亚洲人成网站| 91网上在线视频| 亚洲国产成人av| 欧美精品一区二区三区高清aⅴ| 大美女一区二区三区| 亚洲理论在线观看| 欧美一区二区三区视频在线| 国产成人午夜高潮毛片| 亚洲综合视频在线观看| 日韩美女一区二区三区四区| 欧美肥妇bbw| 国产69精品一区二区亚洲孕妇| 国产精品成人午夜| 欧美绝品在线观看成人午夜影视| 精品亚洲成a人| 一区二区三区成人在线视频| 欧美一二三区精品| 99久久精品国产麻豆演员表| 日韩激情一区二区| 中文一区二区在线观看| 欧美日韩色综合| 国产成人精品一区二| 亚洲夂夂婷婷色拍ww47| 26uuu欧美| 欧美午夜精品免费| 国产不卡视频在线观看| 香蕉久久一区二区不卡无毒影院 | 大桥未久av一区二区三区中文| 亚洲国产成人高清精品| 国产精品卡一卡二| 日韩精品一区二区三区视频| 91亚洲大成网污www| 国产在线播放一区二区三区| 亚洲成人av资源| 中文字幕中文字幕一区| 欧美成人r级一区二区三区| 日本黄色一区二区| 成人动漫在线一区| 极品销魂美女一区二区三区| 亚洲国产成人av好男人在线观看| 中文字幕一区二区5566日韩| 欧美成人猛片aaaaaaa| 欧美精品一二三区| 欧洲一区在线观看| 99久久99久久综合| 成人av午夜电影| 国模少妇一区二区三区| 男人的j进女人的j一区| 一区二区三区在线观看动漫| 国产欧美视频一区二区| 精品盗摄一区二区三区| 欧美一区二视频| 欧美精品日韩综合在线| 欧美亚洲高清一区| 欧美午夜在线一二页| 91久久精品网| 欧美少妇性性性| 欧美日韩成人在线| 欧美福利电影网| 欧美人与z0zoxxxx视频| 欧美人牲a欧美精品| 欧美视频在线观看一区| 欧美性欧美巨大黑白大战| 色偷偷久久一区二区三区| 成人h动漫精品| 91在线视频官网| 一本久久a久久精品亚洲| 一本高清dvd不卡在线观看| 色婷婷精品久久二区二区蜜臂av| 91亚洲精品久久久蜜桃网站| 日本福利一区二区| 91精品国产综合久久国产大片| 欧美高清性hdvideosex| 日韩一区二区在线观看视频| 日韩欧美美女一区二区三区| 精品成人佐山爱一区二区| 免费的成人av| 麻豆精品视频在线观看| 国产一区福利在线| 国产不卡视频一区二区三区| 北条麻妃国产九九精品视频| 99久久国产综合色|国产精品| 日本电影亚洲天堂一区| 777a∨成人精品桃花网| 欧美va日韩va| 最好看的中文字幕久久| 五月激情综合色| 国产激情精品久久久第一区二区 | 亚洲精品日产精品乱码不卡| 亚洲午夜视频在线| 乱一区二区av| a亚洲天堂av| 91麻豆精品国产综合久久久久久| 欧美成人aa大片| 自拍偷在线精品自拍偷无码专区| 亚洲一区二区三区四区在线 | 精品国产sm最大网站| 国产精品免费视频网站| 午夜亚洲福利老司机| 国产麻豆精品视频| 91黄色免费观看| 26uuu精品一区二区三区四区在线| 中文字幕不卡在线观看| 视频一区视频二区中文字幕| 成人午夜av在线| 欧美一区二区在线不卡| 国产精品狼人久久影院观看方式| 午夜国产不卡在线观看视频| 丰满白嫩尤物一区二区| 欧美精选在线播放| 亚洲欧洲日韩综合一区二区| 美女在线视频一区| 91久久久免费一区二区| 国产丝袜美腿一区二区三区| 舔着乳尖日韩一区| 色婷婷久久久综合中文字幕| 久久色.com| 日本美女一区二区三区视频| 北条麻妃国产九九精品视频| 精品国产第一区二区三区观看体验| 日韩美女视频19| 国产成人免费视频| 欧美一区二区三区在线视频| 亚洲欧美一区二区三区国产精品| 国内精品伊人久久久久av一坑| 欧美日韩一本到| 亚洲视频 欧洲视频| 国产九色sp调教91| 欧美变态tickle挠乳网站| 亚洲国产aⅴ成人精品无吗| 9l国产精品久久久久麻豆| 久久精品视频免费| 国内精品视频666| 精品三级av在线| 经典三级一区二区| 精品捆绑美女sm三区| 日本不卡一区二区三区| 欧美日韩国产片| 亚洲一区二区在线免费观看视频| 97se亚洲国产综合自在线观| 国产精品无码永久免费888| 国产风韵犹存在线视精品| 久久久久国产精品厨房| 国产乱对白刺激视频不卡| 精品国产乱码久久久久久闺蜜| 美女视频黄免费的久久|