B 1081パスワードチェック(15分)階段競技シミュレーション問題_C言語


この問題では、あるサイトのユーザー登録モジュールにパスワードの合法性チェックの小さな機能を書くのを助ける必要があります.このサイトでは、ユーザーが設定するパスワードは6文字以上でなければならず、英字、数字、小数点しかありません.アルファベットも数字も必要です.
入力フォーマット:最初の行に正の整数N(≦100)を入力し、その後、N行、各行に80文字以下の空白文字列のユーザー設定パスワードを入力して、車に戻る.
出力フォーマット:各ユーザーのパスワードに対して、1行にシステムフィードバック情報を出力し、以下の5種類に分けます.
パスワードが正しい場合は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 zimu.を出力します.サンプルを入力:
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
#include
#include
#include
using namespace std;
int main()
{
     
	int n,isshuzi,iszimu,qita;
	cin>>n;
	string s;
    getchar();
	for(int i=0;i<n;i++)
	{
     
		getline(cin,s);
		if(s.length()<6) cout<<"Your password is tai duan le."<<endl;
		else
		{
     
			isshuzi=0,iszimu=0,qita=0;
			for(int i=0;i<s.length();i++)
			{
     
				if(isalpha(s[i]))   iszimu=1;
				else if(isdigit(s[i]))	isshuzi=1;
				else if(s[i]=='.');//!!!
				else qita=1;
			}
			if(qita==1) cout<<"Your password is tai luan le."<<endl;
			else if(iszimu==1&&isshuzi==0)  cout<<"Your password needs shu zi."<<endl;
			else if(iszimu==0&&isshuzi==1)	cout<<"Your password needs zi mu."<<endl;
			else cout<<"Your password is wan mei."<<endl;
		}
	}
	return 0;
}