1081 check password (15 points)

Posted by PHPnewby! on Fri, 31 Jan 2020 11:42:12 +0100

1081 check password (15 points)

This question asks you to help the user registration module of a website write a small function of password validity check. The website requires that the password set by the user must be composed of no less than 6 characters, and can only have English letters, numbers and decimal points, as well as both letters and numbers.

Input format:

Enter the first line to give a positive integer N (≤ 100), then N lines, each line to give a password set by the user, which is a non empty string of no more than 80 characters, ending with carriage return.

Output format:

For each user's password, the system feedback information is output in one line, which is divided into the following five types:

  • If the password is legal, output Your password is wan mei;
  • If the password is too short, whether it is legal or not, output Your password is tai duan le;
  • If the password length is legal, but there are illegal characters, then output Your password is tai luan le;
  • If the password length is legal, but only letters do not have numbers, then output Your password needs shu zi;
  • If the password length is legal, but only numbers have no letters, then output Your password needs zi mu.

Input example:

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

Output example:

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.

Solution idea: it's not difficult. Judge the above four situations strictly according to the requirements of the question (Note: there may be spaces in the input password).

The code is as follows:

#include<bits/stdc++.h>
using namespace std;
string a;
int main()
{
	int i,n;
	scanf("%d",&n);
	getchar();
	for(i=0;i<n;i++)
	{
		int m,j,k=0,t=0,y=1;
		getline(cin,a);         //Space can be entered 
		m=a.size();
		if(m<6)       //The password is too short. 
		{
			cout<<"Your password is tai duan le."<<endl;
			continue;
		}
		else
		{
			for(j=0;j<m;j++)
			{
				if((a[j]>='A'&&a[j]<='Z')||(a[j]>='a'&&a[j]<='z')||(a[j]>='0'&&a[j]<='9')||(a[j]=='.'))  //Ensure effective 
				{
					if(((a[j]>='A'&&a[j]<='Z')||(a[j]>='a'&&a[j]<='z'))&&(a[j]<'0'||a[j]>'9'))  //Only letters 
					{
						k=1;
					}
					else if(a[j]>='0'&&a[j]<='9')    //Only numbers 
					{ 
						t=1;
					}
				}
				else    //Illegal password 
				{
					y=0;
					cout<<"Your password is tai luan le."<<endl;
					break;
				}
			}
			if(k==1&&t==1&&y==1)   //Legal situation 
			{
				cout<<"Your password is wan mei."<<endl;
			}
			else if(k==1&&t==0&&y==1)   //Missing figures 
			{
				cout<<"Your password needs shu zi."<<endl;
			}
			else if(t==1&&k==0&&y==1)   //Missing letters 
			{
				cout<<"Your password needs zi mu."<<endl;
			}
		}
	}
	return 0;
}

 

 

Topics: less