1067テストコード(20ポイント)
あなたがシステムにログオンしようとするが、パスワードを忘れたときは、回数を許可外の限られた回数を試すことができ、システムは、通常は、アカウントがロックされます。この質問はあなたにこのシンプルな機能を要求します。
入力フォーマット
(以下20の長さは、スペースなし、タブ入力し、空でない文字列)最初の行に示されているパスワードを入力し、それぞれN整数正(≤10)、および正しいパスワードシステム試行回数が許可されます。各後続行は、キャリッジリターンを有する非空の文字列が終了すると、パスワードを入力するユーザの試みを与えられています。入力は、少なくとも最初の試みを確保します。唯一の#文字が1行を読んだとき、終了を入力して、この行は、ユーザーの入力ではありません。
出力フォーマット:
ユーザの各入力、それはより多くのN、行の出力ようこそ、及びプログラムを終了より正しいパスワードと試みている場合、それは間違っている場合、その行の形式の出力が間違ってパスワードを押す:ユーザ間違ったパスワードが入力され、しようとすると、エラーが到達N回、その後、出力ラインアカウントがロックされ、プログラムを終了します。
サンプル入力1:
正しい3%PW
PW%正しい
PW @正しい
Whatisthepassword!
正しい%PW
输出样例1:
間違ったパスワード:正しい%PW
間違ったパスワード:PW @正しい
間違ったパスワード:whatisthepassword!
アカウントがロックされました
入力サンプル2:
。GPLT @クール3
Coolman @ GPLT
coollady @ GPLT
@クールGPLT
トライアゲイン
出力サンプル2:
間違ったパスワード:Coolman @ GPLT
間違ったパスワード:coollady @のGPLTは
で購入可能です
ピットは、ユーザ入力がスペースを含むことができるということですここでは言いませんでした。。。。。。したがって、使用のgetline
#include <iostream>
#include <string>
using namespace std;
int main()
{
string Code;
int N;
cin>>Code>>N;
getchar();
string changshi;
int count=0;//错误次数
while(count<N){
getline(cin,changshi);
count++;
if(changshi.compare("#")==0) break;
if(changshi==Code){
cout<<"Welcome in"<<endl;
break;
}else{
cout<<"Wrong password: "<<changshi<<endl;
}
if(count==N){
cout<<"Account locked"<<endl;
break;
}
}
return 0;
}