스택 이용 중위 표기의 후위 표기 전환 프로그램
- 등록일 / 수정일
- 페이지 / 형식
- 자료평가
- 구매가격
- 2010.01.14 / 2019.12.24
- 14페이지 / hwp (아래아한글97)
- 평가한 분이 없습니다. (구매금액의 3%지급)
- 2,000원
최대 20페이지까지 미리보기 서비스를 제공합니다.
자료평가하면 구매금액의 3%지급!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
추천 연관자료
- 본문내용
-
/* car 구조체: 차량입력을 위한 구조체
queue[100]: 큐의 크기
front: 큐의 앞쪽을 가리키는 변수
rear: 큐의 뒤쪽을 가리키는 변수
tag: 큐의 오버플로우와 큐가 비었을 때를 구분하기 위한 태크
insert_queue(char *car) 큐에 데이터를 삽입하기위한 함수
char delete_queue() 큐에서 데이터를 삭제하기위한 함수
view_wait_car() 큐의 상태를 보여주기 위한 함수
*/
struct car{
char name[50];
};
car queue[100];
int front=0,rear=0;
int tag=0;
void insert_queue(char *car);
char delete_queue();
void view_wait_car();
main(){
int menu;
char car_name[50];
clrscr();
for(;;){
cout<<"*** 고속도로 요금 계산 ***\n";
cout<<"* 메뉴를 선택하세요..\n";
cout<<"1.요금 계산 차량 통과\n";
cout<<"2.새로 들어온 차량 추가\n";
cout<<"3.대기상태 보기\n";
cout<<"4.종료(단,최대 대기 차량수는 100대입니다.\n>";
cin>>menu;
switch(menu){
case 1: delete_queue();
break;
case 2: cout<<"\n차량 이름 입력:";
gets(car_name);
insert_queue(car_name);
break;
case 3: view_wait_car();
break;
case 4: return 0;
}
}/*end for*/
}/*end main*/
/* 삽입 조작시 front=rear가 되면 tag를 0에서 1로 변화시켜 데이터를 삽입하고나면 다음번
의 삽입 조작은 큐의 오버플로우 상태(tag=1)로 처리된다. 실제 배열을 이용한 큐의 끝과 처음을 환상형처럼 조작하는 방법은 나머지를 구하여 주는 mod연산자를 사용하여 처리할 수 있다. */
void insert_queue(char car[]){
if(tag==1){
cout<<"\n최대 대기차량수를 넘었습니다!!!";
cout<<"\npress any key...";
getch();
clrscr();
return;
}/* 큐 오버플로우시 처리 부분(대기차량수가 넘었다는 메시지 출력) */
rear=(rear+1)%100;
if(front==rear) tag=1;
strcpy(queue[rear].name,car);
cout<<"\n차량 입력완료";
cout<<"\npress any key...";
getch();
clrscr();
return;
자료평가
-
아직 평가한 내용이 없습니다.