1. 문제

 

7. 다음과 같이 "yes"가 입력될 때까지 종료하지 않는 프로그램을 작성하라. 사용자로부터의 입력은 cin.getline() 함수를 사용하라.

 

 

2. 결과

 

 

 

3. 코드

 

#include <iostream>
#include <cstring>
using namespace std;

int main() 
{
	char a[20];

	while(1)
	{
		cout << "종료하고싶으면 yes를 입력하세요>>";
		cin.getline( a, 20 );
			
		if( strcmp(a, "yes") == 0 ) break;
	}
	cout << "종료합니다...\n";
	
}

 

 

4. 설명

 

cin.getline() 함수로 입력받으라 하였으므로 문자열 배열을 하나 선언합니다.

 

 

그 후 cin.getline()으로 입력 받은 후 strcmp()함수를 사용하여서 "yes"인지 비교한 후 맞으면 종료합니다.
 
strcmp()는 두 개의 매개변수를 가지며 첫번째 매개변수 > 두번째 매개변수 이면 양수를
첫번째 매개변수 = 두번째 매개변수 이면 0을
첫번째 매개변수 < 두번째 매개변수 이면 음수를 return 합니다.
 
그래서 입력받은 문자열이 yes와 같은 경우 0을 리턴하고 0일 경우 break;를 사용하여서 무한루프를 도는 while문을 종료하도록 하였습니다.

 

+ Recent posts