사용자 입력을 벡터에 지속적으로 저장하는 방법
사용자 입력을 다룰 때 벡터에 저장하려는 경우가 많습니다. 추가 처리. 그러나 다음 코드 조각에서는 첫 번째 사용자가 제공한 숫자만 캡처됩니다.
<code class="cpp">int main() { int input; vector<int> V; cout << "Enter your numbers to be evaluated: " << endl; cin >> input; V.push_back(input); }</code>
이 문제를 해결하려면 코드는 특정 조건이 충족될 때까지 사용자 입력을 계속 읽어야 합니다(예: 사용자가 특정 문자를 입력하거나 입력 스트림의 끝에 도달함).
해결책 1: cin과 함께 While 루프 사용
다음 코드는 while 루프를 사용합니다. 사용자로부터 정수를 지속적으로 읽고 이를 벡터에 푸시합니다.
<code class="cpp">while (cin >> input) { V.push_back(input); }</code>
해결책 2: cin과 함께 Sentinel 값 사용
또 다른 접근 방식은 입력이 끝났음을 알리는 센티널 값입니다. 이 예에서는 9999를 사용합니다.
<code class="cpp">while ((cin >> input) && input != 9999) { V.push_back(input); }</code>
이 루프는 사용자가 9999를 입력하거나 cin을 유효하지 않게 만드는 다른 값을 입력할 때까지 입력을 계속 읽습니다.
이러한 솔루션을 구현하면 추가 처리를 위해 사용자가 제공한 모든 숫자를 벡터에 효과적으로 저장할 수 있습니다.
위 내용은 다음은 질문 기반으로 기사의 내용을 반영하도록 맞춤화된 몇 가지 제목 옵션입니다. 옵션 1(문제에 집중): * 내 벡터는 왜 첫 번째 사용자 입력만 저장합니까? 옵션 2(초점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!