본문 바로가기
c

반복문 while 예제

by 하이란 2022. 8. 10.

예제


1. 프로그램이 시작되면, 경비 시스템이 가동됩니다.

2. 사용자에게 경비 시스템 중단 여부를 묻습니다.

3.  선택지는 아래와 같습니다.

-> 1. 시스템 작동 중지, 2, 상태 유지

4. 1번을 선택하면, 해당 안내 문구와 함께, 시스템이 종료 됩니다.

5. 2번을 선택하면, 상태가 계속해서 유지 됩니다.

6. 1 또는 2번을 제외한 번호를 선택했을 경우도 처리 합니다.(알 수 없는 번호라고 나오면서 재선택 해 달라는 문구를 넣습니다.)

 

코드


#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int main(void){
    bool is_run = true;
    int select_key = 0;

    while(is_run){ // true라면 계속 실행.
        printf("\n");
        prinf("현재 경비 시스템이 작동 중 입니다. \n");
        prinf("원하시는 동작을 선택 해 주세요. \n");
        printf("\n");
        printf("1. 시스템 작동 중지 \n");
        printf("2. 상태 유지 \n");
        scanf("%d", &select_key);

        if(select_key == 1){
            is_run = false; //while 탈출
        }else if(select_key == 2){
            prinf("경비상태를 계속 유지 합니다. \n");
        }else {
            printf("알수 없는 번호[%d]입니다. 재입력해주세요.\n", select_key);
        }
    }
    prinf("경비 시스템이 종료 되었습니다. \n");

    return 0;
}

 

잡담


매개변수값이 없으면 void를 넣어줘야된다니, 자바스크립트에서는 없으면 비워둬도 됐는데, 

정말 엄격한 언어인것 같았습니다. 

기본으로 is_rund = true를 두고, 빠져나올때는 is_run = false;를 주면서 빠져나오는 방법도 

신선했습니다. 

reutrn 0;의 의미가 궁금해서 조금 찾아보았습니다. 

 

 return 0;(혹은 return;)은 해당 함수를 정상적으로 끝내고서 운영체제(Windows, Linux)에게 기술한 값을 반환하고 현재 실행 중인 해당 함수를 벗어나겠다는 뜻이다.

 

즉, return문은 함수의 반환 값을 전달하는 동시에 현재 수행 중인 함수를 끝내는 두 가지 기능을 한다. 그래서 return 0; 이후의 코드는 수행되지 않는다.

 

'c' 카테고리의 다른 글

코드분석  (0) 2022.08.10