#include <stdio.h>
#include <string.h>
struct user {
char name[ 6 ] ;
char pass[ 6 ] ;
} ;
int main( ) {
//таблица юзеров
struct user users[ ] = {
{ "" , "" } , //буфер для текущего юзера
{ "vasya" , "pup" }
} ;
for ( size_t count = 3 ; count > 0 ; ) {
printf ( "user password:" ) ; scanf ( "%s%s" , users
[ 0 ] .
name , users
[ 0 ] .
pass ) ;
for ( size_t i = 1 ; i< sizeof ( users) / sizeof ( * users) ; i++ ) {
printf ( "\n Try to %s:%s vs %s:%s\n " , users
[ 0 ] .
name , users
[ 0 ] .
pass , users
[ i
] .
name , users
[ i
] .
pass ) ; if ( strcmp ( users
[ 0 ] .
name , users
[ i
] .
name ) == 0 && strcmp ( users
[ 0 ] .
pass , users
[ i
] .
pass ) == 0 ) { return 0 ;
}
}
printf ( "password is invalid. you cant try %d more time(s)\n " , -- count
) ; }
return 1 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCnN0cnVjdCB1c2VyIHsKCWNoYXIgbmFtZVs2XTsKCWNoYXIgcGFzc1s2XTsKfTsKCmludCBtYWluKCkgewoJLy/RgtCw0LHQu9C40YbQsCDRjtC30LXRgNC+0LIKCXN0cnVjdCB1c2VyIHVzZXJzW10gPSB7CgkJeyIiLCIifSwJCQkJLy/QsdGD0YTQtdGAINC00LvRjyDRgtC10LrRg9GJ0LXQs9C+INGO0LfQtdGA0LAKCQl7InZhc3lhIiwgInB1cCJ9Cgl9OwoKCWZvcihzaXplX3QgY291bnQgPSAzO2NvdW50ID4gMDspIHsKCQlwcmludGYoInVzZXIgcGFzc3dvcmQ6Iik7IHNjYW5mKCIlcyVzIiwgdXNlcnNbMF0ubmFtZSwgdXNlcnNbMF0ucGFzcyk7CgoJCWZvcihzaXplX3QgaSA9IDE7IGk8c2l6ZW9mKHVzZXJzKS9zaXplb2YoKnVzZXJzKTsgaSsrKSB7CgkJCXByaW50ZigiXG5UcnkgdG8gJXM6JXMgdnMgJXM6JXNcbiIsIHVzZXJzWzBdLm5hbWUsIHVzZXJzWzBdLnBhc3MsIHVzZXJzW2ldLm5hbWUsIHVzZXJzW2ldLnBhc3MpOwoJCQlpZiAoc3RyY21wKHVzZXJzWzBdLm5hbWUsIHVzZXJzW2ldLm5hbWUpPT0wICYmIHN0cmNtcCh1c2Vyc1swXS5wYXNzLCB1c2Vyc1tpXS5wYXNzKT09MCkgewoJCQkJcHJpbnRmKCJhY2Nlc3MgZ3JhbnRlZFxuIik7CgkJCQlyZXR1cm4gMDsKCQkJfQoJCX0KCQlwcmludGYoInBhc3N3b3JkIGlzIGludmFsaWQuIHlvdSBjYW50IHRyeSAlZCBtb3JlIHRpbWUocylcbiIsIC0tY291bnQpOwoJfQoJCglwcmludGYoImFjY2VzcyBkZW5pZWQhIik7CglyZXR1cm4gMTsKfQo=