내 루프가 끝나지 않는 이유에 대해 약간 혼란 스러움

마우리

그래서 여기에 내 코드가 있습니다.

int k = 1;
string sTemp = "";

do {
    cout << "Enter the ID number for sequence " << k << ": ";
    cin >> sTemp;
    if(!bValid_digit(sTemp))
        cout << "Invalid input. ID number must be 3 digits long.\n\n";
    else if(bIs_taken(sTemp))
        cout << "Invalid input. ID number cannot be the same as a previous member.\n\n";
    else {
        k++;
        ID.push_back(sTemp);
        stored_ID.push_back(sTemp);
    }
}
while(bIs_taken(sTemp) || !bValid_digit(sTemp) || ID.size() != 10);

내가하고있는 일은 3 자리 ID 회원에 대한 사용자 입력을받는 것인데 bValid_digit(), 여기에 대해 별도의 기능 이 있는데 제대로 작동합니다. 그런 다음 bIs_taken()잘 작동 하는 함수를 사용하여 ID 번호가 이미 사용되었는지 테스트 합니다. 그런 다음 ID.size() != 10사용자가 10 개의 ID 번호 만 입력하기를 원하기 때문에 do-while 루프의 조건에서 테스트합니다 . 그 안에 문제가 있습니다. ID.size()10에 도달 해도 루프가 종료되지 않는 이유는 무엇 입니까?

나는 시험 ID.size()에 의해 cout루프의 각 실행 후 크기를 보내고 그리고 실제로 10 유효한 ID 입력 후 사이즈가 10에 도달 않지만, 루프는 여전히 끝나지 않습니다. 왜?

편집 : ID그리고 stored_ID함수의 다른 곳에있는 두 문자열 벡터입니다.

Nikoshr

bIs_taken(sTemp)여러 번 재평가 합니다.

  1. 아직 ID를 입력하지 않았기 때문에 if 테스트에서 false로 평가됩니다.
  2. 하지만 방금 값을 추가했기 때문에 while 조건에서 참으로 평가됩니다.

어느 한 쪽

  • 첫 번째 반환 값을 저장하고 조건에서 사용
  • 또는 루프 조건을로 단순화 while (ID.size() != 10)하면 나머지 두 개는 중복됩니다 (길이가 유효하지 않거나 ID가 이미 사용 된 경우 10 분의 1에 도달 할 수 없음).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

yash 쉘의 printf가 내장 명령인지 여부에 대해 약간 혼란 스러움

분류에서Dev

Elixir Ecto 유효성 검사 테스트가 작동하지 않는 이유에 대해 혼란 스러움

분류에서Dev

PYTHON 딕셔너리에 값을 추가하는 for 루프가 작동하지 않는 이유에 대해 혼란 스러움

분류에서Dev

gzip 응답을 처리하는 HttpClient [Java]에 대해 약간 혼란 스러움

분류에서Dev

for 루프 내에서 ActionLink로 ajax 호출을 수행하는 것에 대해 혼란 스러움

분류에서Dev

장고 제네릭 뷰에 대해 약간 혼란 스러움

분류에서Dev

내부에 수백 개의 프로세서가있는 GPU에 대해 혼란 스러움

분류에서Dev

가치에 대해 혼란 스러움

분류에서Dev

나는 삼항 사용에 대해 약간 혼란 스럽습니다.

분류에서Dev

중첩 된 for 루프가 O (n!) 및 O (n ^ 2)가 될 수있는 방법에 대해 혼란 스러움

분류에서Dev

Sap Odata와 Sapui5 간의 이름 지정에 대해 혼란 스러움

분류에서Dev

루핑 스레드를 처리하는 방법에 대해 혼란 스러움

분류에서Dev

계획에 정의 된 단점에 대해 약간 혼란 스러움

분류에서Dev

jQuery JavaScript가 Wordpress에서 작동하지 않고 충돌 방지 모드 구문에 대해 혼란 스러움

분류에서Dev

Idris의 중간 유형에 대해 혼란 스러움

분류에서Dev

Idris의 중간 유형에 대해 혼란 스러움

분류에서Dev

내 프로그램이 루핑 및 인쇄되지 않는 이유가 혼란 스럽습니다.

분류에서Dev

git 브랜치가 작동하는 방식에 대해 혼란 스러움

분류에서Dev

Laravel 공급자 및 계약에 대해 혼란 스러움

분류에서Dev

Swift이 코드가 무엇을하는지 혼란 스러움

분류에서Dev

Ubuntu 패키지 업데이트에 대해 혼란 스러움

분류에서Dev

PHP (5.5.38)의 간단한 전환에 대해 혼란 스러움

분류에서Dev

iOS-내 앱에서 핵심 데이터를 사용하는시기에 대해 혼란 스러움

분류에서Dev

모듈 내의 다른 디렉토리 / 부모 디렉토리에서 가져 오는 방법에 대해 혼란 스러움 (파이썬 3)

분류에서Dev

프로그래밍 방식으로 jtable에 열을 추가하는 방법에 대해 혼란 스러움

분류에서Dev

nodeJS에 대해 혼란 스러움

분류에서Dev

DropDownListFor에 대해 혼란 스러움

분류에서Dev

ContentType에 대해 혼란 스러움

분류에서Dev

WindowBuilder에 대해 혼란 스러움

Related 관련 기사

  1. 1

    yash 쉘의 printf가 내장 명령인지 여부에 대해 약간 혼란 스러움

  2. 2

    Elixir Ecto 유효성 검사 테스트가 작동하지 않는 이유에 대해 혼란 스러움

  3. 3

    PYTHON 딕셔너리에 값을 추가하는 for 루프가 작동하지 않는 이유에 대해 혼란 스러움

  4. 4

    gzip 응답을 처리하는 HttpClient [Java]에 대해 약간 혼란 스러움

  5. 5

    for 루프 내에서 ActionLink로 ajax 호출을 수행하는 것에 대해 혼란 스러움

  6. 6

    장고 제네릭 뷰에 대해 약간 혼란 스러움

  7. 7

    내부에 수백 개의 프로세서가있는 GPU에 대해 혼란 스러움

  8. 8

    가치에 대해 혼란 스러움

  9. 9

    나는 삼항 사용에 대해 약간 혼란 스럽습니다.

  10. 10

    중첩 된 for 루프가 O (n!) 및 O (n ^ 2)가 될 수있는 방법에 대해 혼란 스러움

  11. 11

    Sap Odata와 Sapui5 간의 이름 지정에 대해 혼란 스러움

  12. 12

    루핑 스레드를 처리하는 방법에 대해 혼란 스러움

  13. 13

    계획에 정의 된 단점에 대해 약간 혼란 스러움

  14. 14

    jQuery JavaScript가 Wordpress에서 작동하지 않고 충돌 방지 모드 구문에 대해 혼란 스러움

  15. 15

    Idris의 중간 유형에 대해 혼란 스러움

  16. 16

    Idris의 중간 유형에 대해 혼란 스러움

  17. 17

    내 프로그램이 루핑 및 인쇄되지 않는 이유가 혼란 스럽습니다.

  18. 18

    git 브랜치가 작동하는 방식에 대해 혼란 스러움

  19. 19

    Laravel 공급자 및 계약에 대해 혼란 스러움

  20. 20

    Swift이 코드가 무엇을하는지 혼란 스러움

  21. 21

    Ubuntu 패키지 업데이트에 대해 혼란 스러움

  22. 22

    PHP (5.5.38)의 간단한 전환에 대해 혼란 스러움

  23. 23

    iOS-내 앱에서 핵심 데이터를 사용하는시기에 대해 혼란 스러움

  24. 24

    모듈 내의 다른 디렉토리 / 부모 디렉토리에서 가져 오는 방법에 대해 혼란 스러움 (파이썬 3)

  25. 25

    프로그래밍 방식으로 jtable에 열을 추가하는 방법에 대해 혼란 스러움

  26. 26

    nodeJS에 대해 혼란 스러움

  27. 27

    DropDownListFor에 대해 혼란 스러움

  28. 28

    ContentType에 대해 혼란 스러움

  29. 29

    WindowBuilder에 대해 혼란 스러움

뜨겁다태그

보관