반응형
#include<stdio.h>
#define NUM 10
//실행 함수
void run(){
char ans;
while(1){
system("cls");
printf("\n좌석을 예약하시겠습니까?\n");
printf("선택(Y or N)>>>");scanf(" %c",&ans);
if(ans=='Y'||ans=='y'){
printf("\n예약을 시작합니다.");
select_seat();
}
else if(ans=='N'||ans=='n'){
printf("\n시스템 종료");
break;
}
else{
printf("\nY 또는 N만 선택가능.");
Sleep(700);
continue;
}
}//while(1)
}//void run()
//좌석 고르기 함수
void select_seat(){
int num=0,select,i,j; //인원수,자리번호,변수
int cnt=0; //인원수 카운트
char ans;
int array[NUM]= {0};
//좌석 현황 ,좌석 예매
while(1){
system("cls");
//영화관 좌석 다 찼을때. 좌석은 10개만 있음.
if(cnt==10){
for(i=3;i>0;i--){
printf("\n남는 좌석이 없습니다. \n다른 영화를 예매해주세요.\n");
printf("초기화면으로...(%d)",i);
Sleep(600);
system("cls");
}
break;
}// if(cnt=10)
else{
printf("\n인원수를 선택해주세요.");
printf("\n인원수>>>");scanf("%d",&num);
if(num<=10-cnt){
if(num>0&&num<=10){
//좌석 보여줌. 0은 공석, 1은 예약석.
for(j=0;j<num;j++){
printf("\n-------------------------------------------------\n");
printf("\n좌석 현황:") ;
for(i=0;i<NUM;i++){
printf("%3d",array[i]);
}
printf("\n");
printf("좌석 번호:") ;
for(i=0;i<NUM;i++){
printf("%3d",i+1);
}
printf("\n");
printf("\n-------------------------------------------------\n");
printf("\n좌석을 선택하세요(%d)",j+1);
printf("\n좌석 선택>>>");scanf("%d",&select);
system("cls");
if(select>0&&select<=10){
if(array[select-1]==0){
for(i=0;i<6;i++){
printf("예약 진행중... (%d/5)", i);
Sleep(300);
system("cls");
}
printf("\n%d번 자리 예약 완료하였습니다.",select);
array[select-1]=1;
cnt++;
Sleep(700);
system("cls");
}
else{
j-=1;
printf("\n이미 예약된 좌석 입니다.");
Sleep(700);
}
}//if(select>0&&select<=10)
else{
printf("\n1~10번 자리만 선택해 주세요.");
Sleep(700);
}
system("cls");
}
system("cls");
printf("\n계속 좌석을 선택하시겠습니까?");
printf("선택(Y or N)>>>");scanf(" %c",&ans);
if(ans=='Y'||ans=='y'){
continue;
}
else if(ans=='N'||ans=='n'){
printf("\n처음으로 돌아갑니다.");
break;
}
}//if(num>0&&num<=10)
else{
printf("영화관은 총 10자리 까지밖에 없습니다. ");
}
}//if(num<=10-cnt)
//인원수>남은 좌석수 일때
else{
printf("\n인원수 만큼 남는 자리가 없습니다.");
Sleep(700);
}
}//else
}
}
//메인함수
int main(void){
run();
return 0;
}
반응형
'C언어 > C언어 실습' 카테고리의 다른 글
C언어-c언어 초간단 로그인 프로그램 만들기/c언어 콘솔화면 초기화(cls)/콘솔화면 지우기 활용/c언어 타이머 활용(Sleep)/c언어 타임 슬립 활용 (0) | 2021.03.08 |
---|
댓글