티스토리 뷰

반응형

개발자의 C언어 독학 기초 명령# 루프 do while 사용법

모든 강의 자료 : www.codingnow.co.kr/

반복하기 위한 명령 중에 이번 강의에서는 do while에 대해 설명하려 한다.

while과 동일하지만 while은 조건이 먼저 들어가 있어 조건에 의해서만 실행이 되고 do while은 무조건

한번은 실행하고 조건을 보는 구조가 된다.

이전 강의 while로 구현된 소스코드와 do while을 비교해 보면 차이점이 거의 없다.

즉 조건을 보고 시작하느냐 일단 실행하고 조건을 보느냐의 차이 정도이다.

실행결과 화면을 보아도 이전 강의와 동일하다.

실제 개발을 할때 루프 명령의 특성과 차이를 이용해서 수많은 적용의 다양성을 가져갈 수있다.

#include <stdio.h>
#include <time.h> 
#include <windows.h>

void main(void)
{
	int num1, num2, result, sum;
	int score;
	system("chcp 65001"); //gcc 한글 깨짐
	system("cls"); //화면지움
	printf("\n-------문제를 풀어보세요-------------\n");
//랜덤 수를 만든다.
	srand(time(NULL));
	
	score = 0;
	//for(int cnt=0; cnt<10; cnt++)
	int cnt=0;
	//while(cnt<10)
	do
	{
		num1 = rand()%100; //첫번째 값 (100 이하의 랜덤 값)
		num2 = rand()%100; //두번째 값 (100 이하의 랜덤 값)
		sum = num1+ num2; //답을 구한다.

	//문제를 출제한다.
		printf("\n %02d번째 문제 %d + %d = ",(cnt+1), num1, num2);
		
	//답을 입력받는다.
		scanf("%d", &result);

	//결과를 표시한다.
		if(sum == result)
		{
			printf("       정답입니다.\n");
			score += 10;
		}else{
			printf("       오답입니다. 정답은 %d 입니다.\n", sum);
		}
		
		cnt++;
		
	}while(cnt<10); //10번 반복
	
	printf("-------------------------------------\n");
	printf(" 100점 만점에 %d입니다.\n",score);
	printf("-------------------------------------\n");
	
	system("pause");	
	return;
}

반응형