PAT 기본 1,081 비밀번호 확인 (15 점)

이 질문은 당신이 사이트의 사용자 등록 모듈은 작은 기능의 적법성을 확인하기 위해 암호를 작성하는 데 도움을 요청합니다. 이 사이트는 암호가 이하 여섯 자 이하로 구성되어야합니다 설정하는 사용자를 필요로하고, 문자, 숫자 및 소수점 수  ., 두 글자는 숫자가 있어야합니다.

입력 형식 :

제 1 입력 라인은 양의 정수 (N 주어진 N 행 하였다 ≤ 100)를 각 행의 끝을 입력하도록, 문자 이상 80 비어 문자열에 의해 설정된 비밀번호를 설명한다.

출력 형식 :

연속 피드백 정보 출력 시스템, 다음 다섯 개 지점에서 각각의 사용자를위한 암호 :

  • 암호는 합법적 인 출력 인 경우 Your password is wan mei.;
  • 암호가 너무 짧은 경우 합법적 여부, 출력 Your password is tai duan le.;
  • 암호 길이 합법적 인 경우지만, 법적 성격, 출력이 없다 Your password is tai luan le.;
  • 숫자가 아닌, 출력 암호 길이 합법적 인,하지만 편지의 경우 Your password needs shu zi.;
  • 암호 길이 합법적 인 경우, 만 수없는 문자 출력 Your password needs zi mu..

샘플 입력 :

5
123s
zheshi.wodepw
1234.5678
WanMei23333
pass*word.6

샘플 출력 :

Your password is tai duan le.
Your password needs shu zi.
Your password needs zi mu.
Your password is wan mei.
Your password is tai luan le.




사용법 #include <iostream>
 사용  스페이스 성병;
불리언 containAl ( 문자열 들) {
     위해 ( int로 난 = 0 ; i가 <s.length을 (); 나는 ++ ) {
         경우 ((S [I]> = ' ' &&의 S [I] <= ' Z ' ) || ( (S [I]> = ' ' && S [I] <= ' Z는 ' ))) 반환 사실 ; 
    } 반환 거짓 ; 
     
난 = 0 ; i가 <) (s.length 단계; 내가 ++ ) {
         경우 (S [I]> = ' 0 ' && S [I] <= ' 9 ' ) 반환  ; 
    } 
    반환  거짓 ; 
} 

BOOL isLegal ( 문자열 들) {
     위해 ( int로 난 = 0 ; i가 <) (s.length 단계; 내가 ++ ) {
         경우 ! (((S [I]> = ' ' && S [I] <= ' Z ' ) || (S [I]> = ' ' &&의 S [I] <= ') || (S [I]가> = ' 0 ' && S [I] <= ' 9 ' ) || S [I] == ' . ' )) 반환  거짓 ; 
    } 
    반환  사실 ; 
} 
무효 체크 ( 문자열 들) {
     경우 (s.length () < 6 ) COUT << " 비밀번호 타이 르 두안이다. " << ENDL;
    다른  경우 cout과 << (isLegal (들)!) " 암호가 타이 루안 르입니다. " << endl의;
    다른  경우 (!암호는 슈 ZI 필요합니다. " << endl의;
     다른  경우 (! containAl (들)) cout과는 << " 암호는 ZI 뮤 필요합니다. " << endl의;
     다른 COUT은 << " 암호는 완 메이입니다. " << ENDL; 
} 
INT 의 main () {
     INT N, 문자열 들, 
    CIN >> N] 
    의 getline (CIN, S) 
    동안 (이 N-- ) { 
        의 getline은 (CIN, S)가, 
        (S)을 확인; 
    } 
    시스템 ( " 정지 " );
     0 ; 
}

의 getline을 사용하여 공간을 참고

추천

출처www.cnblogs.com/littlepage/p/11361511.html