제3장 스택&큐 - 이착륙 모의실험
- 최초 등록일
- 2006.09.29
- 최종 저작일
- 2006.08
- 압축파일
- 가격 3,000원
소개글
2.[프로그래밍 과제] 공항에서의 이착륙 방식을 모의 실험하고자 한다. 공항에는 세개의 활주로(0, 1, 2)와 네가지 착륙 순위 대기 선회 (처음 두개의 활주로에 각각 두개씩)가 있다. 도착비행기는 어느 한 착륙 순위 대기 선회 큐에 들어가며, 큐들은 가능한 한 크기에 있어서 비슷하다. 비행기가 착륙 순위 대기 선회 큐에 들어가면 정수 식별자와, 착륙 전 큐에 남아 있을 수 있는 시간 단위를 나타내는 정수를 할당받는다. ----- 중략 ----
1)소스는 1000라인이 넘습니다.
2)line by line으로 comment가 달려있습니다.
컴파일 실행환경
vc++ 6.0
본문내용
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#define MAX_CIRCUL_QUEUE_SIZE 4 /* circular queue */
#define MAX_ARRAY_SIZE 3 // 배열 사이즈.
#define MAX_STACK_SIZE 10 // 스택 사이즈
#define MAX_RUNWAY_NUM 3 // 활주로 최대.
#define MAX_HOLDING_SIZE 2 // 선회큐 사이즈.
#define MAX_PLANE 3 // 이착륙 동시 발생 최대 비행기수.
#define MAX_RATE_ARRAY_SIZE 100 // 비율의 최대 사이즈
#define FALSE 0 // 거짓.
#define TRUE 1 // 참.
/************************************************************************
* Macro Function
*************************************************************************/
// 이, 착륙 처리를 결정.
#define landing_or_takeoff() (many_event[(rand()%100)])
// 큐나 선회큐에 남을 수 있는 시간을 정함.
#define random_remain_time(_min,_max) ( ( (rand()%((_max)+1)) + (_min) )* unit_time )
// 출력이후 사고난 비행기수 리셋
#define reset_accident_count() (aport.accident_plane = 0)
// 이,착륙 큐 내의 대기했던 시간 증가, 남을 수 있는 시간 감소.
#define in_decrease_time(ptrQ,i,j) \
if ( (ptrQ)[(i)].queue[(j)].plane.id != 0 )/*해당큐에 비행기가 존재한다면*/
압축파일 내 파일목록
Problem_02_Simulation_airport.dsp
Problem_02_Simulation_airport.dsw
Problem_02_Simulation_airport.ncb
Problem_02_Simulation_airport.opt
Problem_02_Simulation_airport.plg
simulation_airport.c
참고 자료
없음