亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
中文字幕欧美日本乱码一线二线| 不卡的电视剧免费网站有什么| 国产欧美1区2区3区| 精品福利在线导航| 欧美精品一卡两卡| 欧美一区二区三区白人| 欧美电影一区二区| 欧美乱妇23p| 欧美一区二视频| 精品国产免费一区二区三区四区 | 日韩一区和二区| 欧美一区二区三区思思人| 91精品在线观看入口| 日韩欧美不卡在线观看视频| 亚洲精品一区在线观看| 久久综合九色综合97婷婷| 亚洲国产高清不卡| 亚洲精品欧美专区| 午夜不卡av在线| 国产一区二区在线电影| 国产成人亚洲精品狼色在线| 99国产精品久久久久久久久久久| 色94色欧美sute亚洲线路一久| 精品污污网站免费看| 91福利国产成人精品照片| 欧美日韩久久久久久| 欧美欧美欧美欧美| 精品视频在线免费看| 欧美精品少妇一区二区三区| 97久久精品人人做人人爽| 欧洲日韩一区二区三区| 欧美日韩精品欧美日韩精品一| 69堂亚洲精品首页| 精品国产免费人成电影在线观看四季 | 久久久久久99久久久精品网站| 亚洲精品一区二区三区在线观看| 久久九九久精品国产免费直播| 欧美高清在线精品一区| 亚洲男人都懂的| 日本伊人午夜精品| 国产麻豆视频一区| 色爱区综合激月婷婷| 制服丝袜av成人在线看| 这里只有精品电影| 精品国产91洋老外米糕| 国产嫩草影院久久久久| 亚洲第一福利一区| 国产精品99精品久久免费| 99久久99久久久精品齐齐| 欧美日韩第一区日日骚| 久久久久久免费毛片精品| 亚洲色图都市小说| 奇米888四色在线精品| 成人av在线电影| 欧美日韩久久一区二区| 欧美一区二区三区四区久久| 中文字幕第一区二区| 一区二区三区视频在线看| 国内外成人在线| 色综合一区二区三区| 欧美tickling挠脚心丨vk| 亚洲人成影院在线观看| 看电影不卡的网站| 色婷婷亚洲综合| 2024国产精品| 亚洲超碰精品一区二区| 99久久久精品| 精品国产乱码久久久久久免费| 亚洲激情第一区| 国产激情一区二区三区四区| 欧美理论电影在线| 亚洲视频免费在线| 国产专区欧美精品| 日韩一级二级三级精品视频| 亚洲精品综合在线| 国产成人小视频| 精品国产乱码久久久久久影片| 亚洲成在人线免费| 色综合久久久久综合体| 中文字幕欧美国产| 久久国产三级精品| 日韩欧美国产午夜精品| 午夜av一区二区| www.日韩精品| 中文字幕电影一区| 成人av在线资源网| 中文字幕一区日韩精品欧美| 日韩av网站免费在线| 九色综合国产一区二区三区| 麻豆精品视频在线观看| 欧美在线视频你懂得| **欧美大码日韩| 91麻豆国产福利在线观看| 中文字幕精品综合| 国产福利一区二区三区| 久久女同互慰一区二区三区| 韩国成人在线视频| 日韩亚洲欧美综合| 蜜桃av噜噜一区二区三区小说| 51久久夜色精品国产麻豆| 亚洲国产欧美另类丝袜| 欧美日韩国产片| 一个色在线综合| 欧美精品免费视频| 日韩专区一卡二卡| 日韩免费看网站| 国产成人aaa| 国产精品久久久久aaaa| 99热国产精品| 亚洲国产精品人人做人人爽| 欧美日韩在线播放三区四区| 日韩电影免费一区| 久久亚洲一区二区三区四区| 国内成+人亚洲+欧美+综合在线| 国产午夜精品理论片a级大结局| 成人av先锋影音| 一区二区三区精品在线| 99v久久综合狠狠综合久久| 亚洲最大成人综合| 精品免费国产二区三区 | 91精品国产一区二区| 蜜臀va亚洲va欧美va天堂| 久久综合九色综合97婷婷| 成人sese在线| 蜜桃精品视频在线| 亚洲欧洲99久久| 欧美大片在线观看| 色综合色综合色综合| 日本女人一区二区三区| 国产精品免费看片| 91超碰这里只有精品国产| 成人午夜伦理影院| 激情图片小说一区| 亚洲一二三区视频在线观看| 久久日一线二线三线suv| 色吊一区二区三区| 激情久久五月天| 亚洲国产aⅴ成人精品无吗| 久久亚洲一区二区三区明星换脸 | 在线观看欧美黄色| 国产一区二区三区免费看| 一个色综合网站| 国产精品美女久久久久久 | 在线成人午夜影院| 成人毛片老司机大片| 美女视频一区二区| 亚洲一区二区三区激情| 成人欧美一区二区三区黑人麻豆| 51精品视频一区二区三区| 一本色道久久加勒比精品| 国产精品18久久久| 天堂一区二区在线| 亚洲资源在线观看| 亚洲一区国产视频| 自拍av一区二区三区| 国产欧美日韩精品在线| 欧美成人r级一区二区三区| 欧美日韩免费不卡视频一区二区三区| 99久久国产综合精品女不卡| 成人午夜电影久久影院| 国产在线精品视频| 韩国三级在线一区| 久久精品国产免费| 久久99精品国产麻豆不卡| 1区2区3区国产精品| 欧美嫩在线观看| 日本高清不卡aⅴ免费网站| 99国产精品一区| 91免费视频网| 色欧美88888久久久久久影院| av一区二区三区四区| 成人国产一区二区三区精品| 国产不卡一区视频| a4yy欧美一区二区三区| 成人sese在线| 在线一区二区三区四区五区| 高清成人免费视频| 在线国产电影不卡| 日韩手机在线导航| 日韩一区二区在线观看| 日韩一区二区精品葵司在线| 91精品国产91久久综合桃花| 日韩免费一区二区三区在线播放| 日韩欧美黄色影院| 久久久久久久久久久久久久久99 | 三级不卡在线观看| 亚洲一区二区三区四区在线| 欧美aaa在线| 国产精品资源在线| 色婷婷久久久亚洲一区二区三区| 91精品福利在线| 日韩亚洲欧美一区| 国产精品白丝在线| 亚洲r级在线视频| 国内精品免费在线观看| 成人高清免费观看| 91在线观看美女| 欧美成人video| 亚洲欧美偷拍卡通变态| 日韩和欧美的一区|