2014-01-20 3 views
-2

그래서 선택할 때 먼저 옵션 1을 말하십시오. 그래서 Active Directory를 선택한 다음 옵션 3 그룹에 사용자 추가를 선택하십시오. 그것은 사용자 이름을 요구합니다. 그래서 괜찮습니다. 그러나 사용자 이름을 입력하면 그룹을 추가하라는 메시지가 표시되는 대신 메뉴 표시가 계속 반복됩니다. 나이가 들어도 C++을 접한 적이 없으며 결코 좋지 않습니다. 그러나 다만 약간 통보를 찾는. 어쩌면 더 나은 메뉴 시스템 일 수도 있습니다.의도하지 않은 루프 전환

void ActiveDirectoryMenu() 
{ 
    do 
    { 
     cout << "\n1. Active Directory clean up\n2. Copy over use permissions"; 
     cout << "\n3. Add user to group\n4. Reset user password\n5. Enable - Disable account\n"; 
     cin >> tempChoice; 

     switch (tempChoice) { 
      case 1: 
       ActiveDirectoryCleanUp(); 
       break; 
      case 2: 
       cout << "Execute copy"; 
       break; 
      case 3: 
       ActiveDirectoryAddGroup(); 
       break; 
      case 4: 
       cout << "Specify username: "; 
       cin >> tempUser; 
       cout << "\nDefault password: "; 
       cin >> temp; 
       break; 
      case 5: 
       cout << "Specify username: "; 
       cin >> tempUser; 
       cout << "\n1. Enable\n2. Disable\n"; 
       cin >> tempChoice; 
     } 
    } 
    while (tempChoice != 6); 
} 
void ExchangeMenu() 
{ 

} 
void ActiveDirectoryCleanUp() 
{ 
    cout << "Executing AD clean up...."; 
} 
void ActiveDirectoryAddGroup() 
{ 
    cout << "Specify user: "; 
    cin >> tempUser; 

    if (tempUser == "") { 
     cout << "\nSpecify group: "; 
     cin >> tempGroup; 
    } else { 
     cout << "Please enter valid user" << endl; 
    } 
} 
+0

당신이 말하는 무한 루프에 대한 이유를 볼 수 없습니다 - 루프 본문의 세 번째 줄에 입력하라는 메시지가 표시되므로 적어도 거기에서 멈춰야합니다. 입력 내용을 확인하십시오. 사용자가 일련의 문자 대신 숫자를 입력한다는 것을 확신 할 수 없습니다. (또는 실수로 숫자를 실수로 입력하고 우연히 끝에 문자를 추가하지 않을 것입니다.) – AndyG

+0

루프는 사용자가 길게 계속 실행합니다 메뉴에서 이전에 선택한 작업을 수행 한 후 '6'에 입력하십시오. –

답변

1

, 당신은

if (tempUser != "") { 

대신

if (tempUser == "") { 

나는 가정

을 찾으셨습니까 사용자 이름을 입력하면 당신은 ""가 아닌 여기에 체크한다. ""이면 잘못된 이름을 묻는 메시지가 나타납니다.

+0

아마도 올바르지 만 이것은 OP에서 설명한 행동을 설명하지는 못합니다! (코멘트 일 것임에 틀림 없다) –

+0

@ πάνταῥεῖ 실제로 그것은이 문장을주의 깊게 읽는다. 그러나 나는 사용자 이름을 입력 할 때 그룹에 그들을 추가 할 것을 묻는 대신에 메뉴를 반복해서 반복한다. 그렇게 사용자 이름이 ""이 아닌 경우에만 가능합니다. –

+0

나는 다시 겪어왔다, 네 말이 맞다! 꽤 심하게 묻는 질문입니다. /. –

0

tempuser == ""인 경우에만 그룹을 요청합니다. tempuser가 ""와 같지 않은지 테스트하려고 한 것 같습니다.

관련 문제