前言
今天我们使用c语言去模拟一下密码的三次输入,我们简单试一下,我们在生活中总会有输入密码的时候,在现如今这个信息化的时代,我们在使用每个软件的时候都会有一个账号和密码,如果我们在不经意间忘记了密码的话,那我们就需要去重新输入,这里会看到一个限制,如果我们重新输入几次错误之后,嗯...就会有一些后果需要我们去承担。我们今天来模拟一下密码的三次输入。
题目
题目描述:
定义一个密码,通过与密码的验证,判断密码是否正确。
输入描述:
屏幕显示:请输入您的密码:>
输出描述:
如果密码输入正确,显示“登录成功”,如果密码输入错误显示“登录失败,请重新输入:”,如果密码输入三次未成功,显示:“三次程序均输入错误,退出程序”。
题目解析
在这一题中我们根据题目要求了解到,我们只需要定义一个数组用来存放我们输入的密码,之后使用一个循环来比较输入的密码与我们之后所设置的密码是否一致,并进行输出描述中的输出。
代码表示
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
//定义一个数组用来存放密码
int i;char password[20] = { 0 };
for (i = 0;i < 3;i++)
{
printf("请输入您的密码:>");
scanf("%s", password);
//设置密码为:asdfghjkl,判断密码是否和输入的一致
if (strcmp(password,"asdfghjkl")==0)
{
printf("登录成功\n");
break;
}
//密码输入错误显示登录失败并且重新输入密码
else
{
printf("登录失败,请重新输入:\n");
}
}
//如果三次密码输入错误执行退出程序
if (i == 3)
{
printf("三次程序均输入错误,退出程序");
}
return 0;
}
代码解析
首先定义数组存放我们的初始密码:asdfghjkl,之后我们使用for循环来对密码的执行次数进行限制,我们设置为i<3,给我们三次输入密码的机会,之后使用if循环来判断输入密码是否与我们设置的密码一致,在这里我们需要注意的就是,在我们判断两个字符串是否相等的时候我们不能直接使用passward == “asdfghjkl”这样的形式,判断两个字符串相等需要用到函数:strcmp,它的头文件为<string.h>它的作用就是判断两个字符串是否相等。
今天学到的是strcmp的使用呢,我们在之后需要用到比较两个字符串的时候可不要去使用passward == “asdfghjkl”这样的形式了,我们要使用strcmp(password,"asdfghjkl")这个函数来判断呢。