[c++프로그램] 엘리베이트시뮬레이션

등록일 2002.03.10 압축파일 (rar) | 15페이지 | 가격 600원

*해당 문서는 미리보기가 지원되지 않습니다. 목차와 본문을 참조 해 주시기 바랍니다.

소개글

c++로 만든 엘리베이트 시뮬레이션임다.
텍스트 모드로 엘리베이트가 움직이죠...

컴파일 실행환경

99292120.cpp
99292120.exe

본문내용

비주얼 C++6.0에서 작성 했습니다. 각종 윈도우 함수 때문에 다른 환경에서는 작동하지 않습니다. 대기자를 발생하는 시간은 8초 이며 while 문에 한텀은 2초로 계산되고 사람이 타고 내리는 시간은 2초로 구성되어 있습니다.

< 알고리즘 >
주의!!!엘리베이트3대는 항상 아무도 태우지 않는 경우에 1, 3, 5층에서 대기하고 있습니다. 그러니깐 한번 태우고 내리면 항상 자기가 맡은 위치로 되돌아 와서 대기자 발생을 기다립니다. 사람을 얼마나 빨리 태우는것에 중점을 두고 만들었기 때문에 실제 엘리베이트라면 전력 소비가 많이들게 됩니다. 그러나 서울모회사 엘리베이트도 사람이 많이 붐비는 시간에는 에리베이트가 사람이 많은곳에서 자동적으로 대기한다는 것을 듣고 이것을 모방해서 만들었습니다. 그래서 어떻게 보면 엘리벵트가 사람도 않태웠는데 계속움직는 것 처럼 보일수 있습니다. 이것을 주의에서 확인해 주십시오. 그리고 정지상태에서는 엘리베이트가 문을 열고 대기하기 때문에 타고 내리는 시간이 2초 밖에 되지 않으므로 항상 타고 내리는 시간을 2초로 고정 했습니다. 그래서 1초의 시간이 줄어 들게 되므로 대기자 발생은 실제적으로 8초(4번은 턴한후)에 생성됩니다. 테스트 결과 10분이면 약 80명의 사람을 태우고 나르게 됩니다.
*사람을 태우고 엘리베이트를 선택하는 조건*
1) 지금 엘리베이트 위치에서 가장가까운거을 고른다. 모두가 동일할경우 1번 엘리베이트가 맡는다.
2) 이 선택된 엘리베이트가 움직이는 방향과 같지 않으면 다른 에리베이트로 바꾼다.
3) 그리고 다시 이 엘리베이트가 움직이는 방향과 대기자가 있는 층과 가고자 하는 방향과 맞지 않을 경우 다른 엘리베이트로 바꾼다.
4)엘리베이트는 상승중에는 탑승자들의 갈위치에 대한 오름차순으로 소팅하여 가장 먼위치에 방향으로 고정한다.
5)엘리베이트는 하강중에는 탑승자들의 갈위치에 대한 내림차순으로 소팅하여 가장 먼위치에 방향으로 고정한다.

출력은 텍스트 그림과 문자로 출력을 하게 됩니다.
ex) 6층 |*||=||*||대기자 3 (1층에 3층을 갈려고 하는 대기자 한명있음)
1층까지 동일
엘리베이트 상태, 인원, 총태운수

<코드 설명>
list클레스는 사람을 발생하고 삭제하는 역활을 하고 사람에대한 전체적인 자료를 가지고 있습니다. elivate클레스는 엘리베이트 1,2,3과 전체 빌딩을 운영하는 자료를 가지고 있습니다. 메소드는 소팅메소드, 램덤수 발생 메소드, 엘리베이트 제어 메소트, 출력메소드로 이루어져 있습니다. 주메소드는 엘리베이트클레스의 run메소드 입니다.

압축파일내 파일목록

99292120.cpp
99292120.exe
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서