본문 바로가기
C/Example

[C] 좌석 예약 프로그램 (배열)

by 꾸압 2021. 3. 8.

<문제>

1 ~ 10개의 좌석을 예약하는 프로그램을 작성하세요

- 예약 가능한 좌석 및 예약된 좌석까지 표시

- 이미 예약된 자리인 경우 다른 좌석을 선택하도록 안내 및 재선택이 가능하도록

 

<해설>

#include <stdio.h>
#define SIZE 10

int main(){
	
	char reservation, fix;
	int choice=0;
	int i=0;
	int seat[SIZE] = {0};
	
	printf("좌석을 예약하시겠습니까? (y 또는 n) : ");		scanf(" %c", &reservation);
	
	if(reservation == 'y'){
		printf("\n==============================\n");
	
		for(i=0; i<SIZE; i++){
			printf("%3d", i+1);
		}
	
		printf("\n==============================\n");
	
		for(i=0; i<SIZE; i++){
			printf("%3d", seat[i]);
		}
	
		for(;;){
			printf("\n\n몇 번째 좌석을 예약하시겠습니까? : ");		scanf("%d", &choice);
		
			for(i=0; i<10; i++){
				
				if(choice == i+1){
					
					if(seat[i] != 1){
						printf("\n좌석을 예약하시겠습니까? (y 또는 n) : ");	scanf(" %c", &fix); 
						
						if(fix == 'y'){
							
							seat[i] = 1;
							printf("\n좌석이 예약되었습니다.\n");
							
							printf("\n==============================\n");
							
							for(i=0; i<SIZE; i++){
								printf("%3d", seat[i]);
							}
							
							printf("\n==============================");
						}
					}
					
					else if(seat[i] == 1){
						printf("이미 예약된 자리 입니다. 다른 좌석을 선택하세요\n");
					}
				}
			}
		}
	}
	
	return 0;
}

 

 

'C > Example' 카테고리의 다른 글

[C] 문자열 예제  (0) 2021.03.09
[C] 포인터 예제  (0) 2021.03.09
[C] 배열 예제 (심화)  (0) 2021.03.08
[C] 배열 예제  (0) 2021.03.08

댓글