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문을 종료하도록 하였습니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 2장 9번 (0) | 2019.04.06 |
---|---|
명품 C++ programming 실습문제 2장 8번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 2장 6번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 2장 5번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 2장 4번 (0) | 2019.04.06 |