c语言密码验证代码次数,C语言实现密码的设置及验证

#include

/*定义密码输入函数*/

void password_set(unsigned int *passwordArrary)

{

int enter_counter; /*定义密码输入计数器*/

/*for循环实现密码的输入*/

printf("请输入6位数字密码\n");

for (enter_counter = 0; enter_counter < 6; enter_counter++)

{

scanf_s("%d", &passwordArrary[enter_counter]);

}

}

/*定义check_rule函数检查输入密码是否符合密码设置规则*/

int check_rule(unsigned int *passwordArrary)

{

int checkRule_flag;

int checkRule_counter;

checkRule_flag = 0;

for (checkRule_counter = 1; checkRule_counter <= 6; checkRule_counter++)

{

if ((*passwordArrary) > 0 && (*passwordArrary) < 10)

{

checkRule_flag++;

passwordArrary++;

}

else

{

passwordArrary++;

}

}

if (checkRule_flag == 6)

{

return 1;

}

else

{

return 0;

}

}

/*定义一个密码校验函数*/

int password_value_check(unsigned int *passwordArrary)

{

unsigned int password_check[6]; /*存放再次输入的密码值*/

int passwordCheckEnter_counter; /*循环输入密码*/

int passwordCheck_counter; /*校验次数计数器*/

int passwordCheck_flag; /*校验标志位*/

passwordCheck_counter = 0;

passwordCheck_flag = 0;

/*再次输入密码并存如校对数组*/

printf("请再次输入刚才设置的密码以便进行校验!\n");

for (passwordCheckEnter_counter = 0; passwordCheckEnter_counter < 6; passwordCheckEnter_counter++)

{

scanf_s("%d", &password_check[passwordCheckEnter_counter]);

}

while (passwordCheck_counter < 6)

{

if ((*passwordArrary) == password_check[passwordCheck_counter]) /*判断两次密码是否相同*/

{

passwordCheck_flag++;

passwordArrary++;

passwordCheck_counter++;

}

else

{

passwordArrary++;

passwordCheck_counter++;

}

}

if (passwordCheck_flag == 6) /*判断标志位返回相应值*/

{

return 1;

}

else

{

return 0;

}

}

int main()

{

unsigned int passwordArrary[6]; /*定义一个存放密码的数组*/

unsigned int *password_set_return;

int check_rule_flag; /*定义密码规则检查返回标识位*/

int check_value_flag; /*设定密码校验标志位*/

int set_counter; /*定义密码设置计数器*/

int check_counter; /*定义密码校验计数器*/

set_counter = 1;

check_counter = 1;

password_set(passwordArrary);

/*利用check_rule函数检查输入的函数是否符合密码设置规则*/

check_rule_flag = check_rule(passwordArrary);

while (check_rule_flag == 0 && set_counter <= 5)

{

set_counter++;

printf("您输入的密码不符合规格,请重新输入6位0~9之间的密码\n");

password_set(passwordArrary);

check_rule_flag = check_rule(passwordArrary);

}

if (set_counter > 5)

{

printf("密码设置已经超过规定次数!\n");

}

else

{

check_value_flag = password_value_check(passwordArrary);

while (check_value_flag == 0 && check_counter <= 5)

{

check_counter++;

check_value_flag = password_value_check(passwordArrary);

}

if (check_counter > 5)

{

printf("输入错误次数超过5次,登陆失败!\n");

}

else

{

printf("密码校验成功!\n");

}

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值