- #include<string>
- #include<cctype>
- #include<iostream>
- using namespace std;
- inline bool is_upper(string s)
- {
- for(int i=0;i<s.size();i++)
- if(isupper(s[i]))
- return true;
- return false;
- }
- inline bool is_lower(string s)
- {
- for(int i=0;i<s.size();i++)
- if(islower(s[i]))
- return true;
- return false;
- }
- inline bool is_alpha(string s)
- {
- for(int i=0;i<s.size();i++)
- if(isalpha(s[i]))
- return true;
- return false;
- }
- inline bool is_not_alpha(string s)
- {
- for(int i=0;i<s.size();i++)
- if(!isalpha(s[i]))
- return true;
- return false;
- }
- int main()
- {
- string s;
- while(getline(cin,s))
- {
- int score=0,size=s.size();
- if(size>=8)
- score++;
- if(is_alpha(s)&&is_not_alpha(s))
- score++;
- if(is_upper(s)&&is_lower(s))
- score++;
- cout<<"This password is ";
- switch(score)
- {
- case 0:
- cout<<"WEAK\n";
- break;
- case 1:
- cout<<"ACCEPTABLE\n";
- break;
- case 2:
- cout<<"GOOD\n";
- break;
- case 3:
- cout<<"STRONG\n";
- break;
- }
- }
- return 0;
- }
複製代碼 |