Pages

Saturday, January 6, 2018

C/C++ 언어 프로그래밍-제어문7

C/C++언어 코딩 복습-제어문 7 (do while )

- do while : while 문과 do while 문은 거의 비슷하지만 특징적인 차이가 있습니다. while 문은 조건을 만족하지 않으면 반복처리 수행문을 한번도 수행하지 않고 빠져 나오는 반면 do while 문은 최소 한번은 수행한다는 것입니다. 구조는 다음과 같습니다.

do while

do {
'수행문장' ;
}while(조건);

- do while 문도 while 문과 마찬가지로 조건에 만족하면 반복수행을, 조건을 만족하지 않으면 반복을 빠져 나오게 됩니다. , 수행문장을 한번 수행한 조건을 물어본다는 차이점이 있습니다.

사용예시 :
예제코드

#include <iostream>
using namespace std;

int main() {
     int a;
     cout << "Enter a natural number between 10 and 20. : ";
     cin >> a;

     do{
          cout << " Wrong !" << endl;
          cout << " (Retry) Enter a natural number between 10 and 20. : ";
          cin >> a;
          }while(a != 15);

     cout << " Bingo !" << endl;

          return 0;
}

- 앞의 while 예제를 간단하게 do while 변형한 코드입니다. (현재는 잘못된 코드로 while do while 차이를 보이기 위해 작성한 코드 입니다.)

실행결과


- 실행을 하면 10 20 사이의 자연수를 입력하라는 문구가 나옵니다. 먼저 정답인 15 입력하고 엔터를 쳐보겠습니다.


- 정답인 15 입력하였는데 틀렸다고 나옵니다. 이유는 a 15 입력 받은 do while 수행문을 한번 실행하고 다시 입력을 받는 상태로 왔기 때문입니다.

- while 다음에 있는 조건문에는 아직 도달하지 않았습니다. 다른 숫자를 한번 넣어보고 정답을 입력해 보겠습니다.


- 5 입력하니 잘못된 결과라고 나오고 다시 입력을 받습니다. 정답인 15 입력하니 "Bingo !" 라는 문장이 나옵니다.

- 이제 잘못된 예제를 고쳐보도록 하겠습니다. 여러 가지 방법이 있지만 여기서는 아주 간단하게 고쳐보겠습니다.

#include <iostream>
using namespace std;
int main() {
     int a;

     do{
          cout << " Enter a natural number between 10 and 20. : ";
          cin >> a;
          }while(a != 15);

     cout << " Bingo !" << endl;
     return 0;
}

- 정수형 변수 a 선언하고 " Enter a natural number between 10 and 20. : " 출력문과 cin do {} 괄호 안에만 작성하였습니다.

- 실행을 시키면 수행문이 수행돼 " Enter a natural number between 10 and 20. : " 출력하고 값을 입력 받습니다. 처음부터 15 넣어보겠습니다.


- 잘못된 부분이 고쳐졌음을 확인할 있습니다. 이번에는 다른 숫자 개를 넣어보고 15 입력해보겠습니다.


- 답이 틀리면 계속 입력을 하라는 문구가 나오고 15 입력하면 "Bingo !" 라는 문장이 출력되고 프로그램이 종료가 됩니다. 

No comments:

Post a Comment