문제: 1차원 배열로 된 영화관을 예약해보자
(다음 포스팅은 2차원 배열로 해보겠습니다)
조건1: 사용자에게 몇명이 함께왔는지 물어보고 같이 온 사람들도 예약하기
조건2: 이미 예약된 자리를 선택할시 다시 선택하게 하기
답안:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void main() {
srand(time(NULL));
int seat[10] = { 1,2,3,4,5,6,7,8,9,10 };
int book[10] = { 0 };
char ch;
int select;
int person;
int count = 0;
printf("영화관에 오신것을 환영합니다\n\n");
printf("예약을 하시겠습니까(yes=Y, no=N) ");
scanf_s("%c", &ch);
if (ch == 'N') {
printf("안녕히 가세요");
}
else if (ch == 'Y') {
printf("저희 영화관을 찾아주셔서 감사합니다\n");
printf("몇명에서 오셨습니까?");
scanf_s("%d", &person);
while (1) {
printf("자리를 선택해주세요\n 자리:");
for (int i = 0; i < 10; i++) {
printf("%3d", seat[i]);
}
printf("\n 예약 여부:");
for (int i = 0; i < 10; i++) {
printf("%3d", book[i]);
}
printf("\n");
if (count == person) {
printf("해당 영화의 상영관은:%d관입니다", 1+rand() % 6);
break;
}
printf("몇번째 좌석을 예약하시겠습니까 ?");
scanf("%d", &select);
if (book[select - 1] == 0) {
printf("==============================================\n");
printf("%d 자리가 예약되었습니다\n", select);
book[select - 1] = 1;
count++;
printf("==============================================\n");
}
else {//이미 book[select-1]==1인 경우(예약이 되어있는 경우)
printf("==============================================\n");
printf("이미 예약이 되어있는 자리입니다\n");
printf("다른 자리를 예약해주세요\n");
printf("==============================================\n");
continue;
}
}
}
else {
printf("잘못된 문자를 입력하셨습니다");
}
}
다음 포스팅은 2차원 배열로 해보겠습니다
'코딩 이야기' 카테고리의 다른 글
[C언어] 1차원 배열의 최대값을 찾아보자 (0) | 2021.07.29 |
---|---|
[C언어] 2차원 배열로 영화관 예약 시스템을 구현해보자 (0) | 2021.07.29 |
[C언어] 1차원 배열을 이용하여 주사위 던진것을 표현하기 (0) | 2021.07.28 |
[C언어] 순환함수를 이용하여 조화급수를 계산해보자 (0) | 2021.07.28 |
[C언어] 순환함수를 사용하여 각 자리수의 합을 구해보자 (0) | 2021.07.28 |