[프로그램]엘리베이터 프로그램
- 최초 등록일
- 2006.06.22
- 최종 저작일
- 2006.06
- 4페이지/ 압축파일
- 가격 1,000원
소개글
C++을 통해
엘리베이터 프로그램을 구현한다.
*프로그램 소스
*프로그램 보고서
*프로그램 문제가 첨부되어있다.
컴파일 실행환경
Microsoft Visual C++ 6.0
본문내용
프로그램의 구성 및 알고리즘
프로그램의 구성
A- 프로그램은 크게 엘리베이터 객체, 층 객체, 메인 함수로 이루어져 있다.
B- 위의 객체들과 메인 함수는 사람이라는 요소를 매개로 하여 작동한다(예를 들어, 엘리베이터에서 사람이 타고 내리는 행위나, 엘리베이터가 위아래로 움직이는 행위는 모두 사람의 존재 여부를 통해 시행된다.).
C- 이 프로그램에서 사람을 double linked list로 관리한다.
엘리베이터와 층 객체의 구성
A- 생성자 : 객체 초기화
B- insert function : 엘리베이터, 층 객체에 사람을 추가할 때 호출하는 함수.
C- get_out function : 엘리베이터, 층 객체에 있는 사람을 제거할 때 호출하는 함수로
사람제거를 완료하면 1을, 그렇지 못하면 0을 리턴한다.
프로그램 수행의 과정
A. 엘리베이터와 층의 정보를 입력 받고, 그 정보에 맞춰 엘리베이터 클래스와 층 클래스를 동적 할당 한다.
B. 사람의 명령을 입력 받는다.
C. 현재 엘리베이터가 작동하는 시간과 최근에 들어온 명령의 시간을 비교해서 명령의 시간과 현재 시간이 같거나 혹은 더 작으면 새로운 명령을 입력 받는다(다시 말해 지금 시간까지 들어온 모든 명령을 처리했는지 확인하고, 다 처리했으면 새로운 명령을 입력 받는다.)
D. 일단 입력된 명령이 있으면 엘리베이터의 작동을 시작한다.
E. 현재 층에 엘리베이터에서 내릴 사람이 있나 확인하고, 있으면 내린다.
F. 현재 엘리베이터의 움직임을 확인한다(위로, 아래로, 정지).
G. 현재 층에서 엘리베이터에 탈 사람이 있는지 확인하고, 있으면 태운다.
H. C번부터 다시 반복한다.
I. 들어온 명령이 0 0 0이면, 엘리베이터와 층의 메모리를 초기화 한 후, A번부터 다시 시작한다.
압축파일 내 파일목록
asn1.cpp
eleva.in
elevator.doc
assn1.pdf
참고 자료
없음