본문 바로가기
C/☞

[35]-A. CGV 영화관 예매

by TR. 2020. 7. 22.
# include <Windows.h>
# include <stdio.h>

// 실습예제 : 1차원 배열
// CGV 영화관 예매
//
//. 7개 좌석 생성 (좌석에는 고유번호가 있음)
//. 사용자에게 좌석번호를 보여주고,
//. 원하는 자리의 번호를 입력받는다.
//. 좌석의 예약상태를 확인해서,
//. 결과를 출력 (예약완료 or 이미 선택된 좌석입니다)
//. 매진 시, 메세지 출력

void main(){

    int nums[7] = {0};			// 모두 0으로 저장
	int seats[7] = {0};

	for(int n=0; n<7; n++){
		nums[n] = n+1;
	}

	int check = 0;
	int run = 1;
    int close = 0;
	while(run){
		// check
		int cnt = 0;
		for(int i=0; i<7; i++){
			if(seats[i] == 1){
				cnt += 1;
			}
		}
		if(cnt == 7){
			check = 1;
		}

		// run
		printf("-----  C G V -----\n");
		printf("좌석 : ");
		for(int n=0; n<7; n++){
			printf("%d ", nums[n]);
		}
		printf("\n현황 : ");
		for(int n=0; n<7; n++){
			printf("%d ", seats[n]);
		}
		printf("\n좌석을 선택하세요 : ");
		int select;
		scanf("%d", &select);

		if(check == 1){
			printf("전좌석 매진입니다.\n");
            close += 1;
            if(close == 3){
                //break;
                run = 0;
            }
		}
		else{
			if(seats[select-1] == 0){
				seats[select-1] = 1;
				printf("%d번 좌석이 예매 완료되었습니다.\n", select);
			} else if(seats[select-1] == 1){
				printf("이미 선택된 좌석입니다.\n");
			}
		}
		
		printf("------------------\n");




	system("pause");
}

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

[37] 연습문제 : 2차원 배열  (0) 2020.07.23
[36] 2차원 배열  (0) 2020.07.22
[35] CGV 영화관 예매  (0) 2020.07.22
[34]-A. Mini Lotto  (0) 2020.07.21
[34]-A. Mini Lotto  (0) 2020.07.21

댓글