2017-03-28 4 views
1

C++에서 do-while 루프를 종료하는 방법을 알아 내는데 어려움이 있습니다. x 개의 데이터 세트를 처리 한 후에 루프를 중지해야합니다. 즉, 설정된 데이터 양이 없기 때문에 사용자는 언제 값 입력을 완료했는지 결정합니다.가짜 값으로 C++에서 do while 루프 끝내기

사용자가 데이터 입력을 완료했을 때 do-while 루프를 멈출 수 있어야합니다.

내 메인 프로그램은 데이터 집합의 끝까지 3 개의 정수 값을 읽고 반복하여 처리해야한다고 가정합니다.

3 개 값의 각 그룹에 대해 주 프로그램이이를 인쇄 한 다음 3 개의 값을 다른 기능에 매개 변수로 보냅니다. 여기

는 내가 지금까지 무엇을 가지고 :

#include <iostream> 
using namespace std; 

int main() { 
    int temp1, temp2, temp3; 

    do { 
     cin >> temp1 >> temp2 >> temp3; 
     cout << "The 3 values are: " << temp1 << " " << temp2 << " " << temp3 << endl; 
    } 
    while (****this is where I need help!*****); 

    return 0; 
} 

내 문제는 내가 여러 입력 값을 가지고, 그래서 어떻게 while 루프 처리 값을 중지하기 위해이 있어야 어떤 조건을 알 수 있습니까?

+1

그래서 사용자에게 "계속 하시겠습니까?"라고 묻고, 그렇지 않으면 루프를 종료하십시오. –

+3

초 동안 코드를 잊어 버리십시오. 사용자 관점에서 어떻게 프로그램을 작동 시키시겠습니까? –

답변

1

가장 간단한 솔루션 (예 : Y 또는 N) 값을 기반으로 새로운 입력을 도입 할 것 운전을

char temp4 
std::cin>>temp4; 

if(temp4!='y') 
break; //exits the loop 

휴식 또는 당신이 원하는 경우

while(temp4=='y'); 
+0

'Y'를 입력하면 프로그램이 종료됩니다. 내가 기대했던 것이 아닙니다. – 1201ProgramAlarm

1

의 조건을 소개 수행 그것은 EOF까지, 당신은 break 필요

do { 
    cin >> temp1 >> temp2 >> temp3; 
    if (!cin) 
     break; 
    cout << "The 3 values are: " << temp1 << " " << temp2 << " " << temp3 << endl; 
} 
while (true); 

나 :

while (true) { 
    cin >> temp1 >> temp2 >> temp3; 
    if (!cin) 
     break; 
    cout << "The 3 values are: " << temp1 << " " << temp2 << " " << temp3 << endl; 
}