C语言编程练习(12)——cmd实现 模拟用户登录功能(掩码版)

cmd实现 模拟用户登录功能(掩码版)

使用工具:VS2019

功能:
1、用户输入用户名和密码
2、用户名和密码匹配
要求:
1、输入密码时要实现掩码功能(输入123,显示***)
2、具备删除键能够删除的功能


一、代码部分

函数实现:

//密码隐藏的实现
void hiddenPassword(char* str)
{
	int i = 0;
	while (1)
	{
		char ch = _getch();			//_getch读取一个字符,但不显示
		if (ch == '\r')				//读取到回车,代表输入完成,加上'\0'
		{
			str[i] = '\0';
			break;
		}
		else if (ch == '\b')		//读取到退格,将*删除一个,并将光标前移
		{
			i--;					//删除一个字符
			if (i < 0)
				i = 0;
			printf("\b \b");		//\b :删除一个*,\b:光标前移
		}
		else						//正常输入字符
		{
			str[i] = ch;
			++i;
			printf("*");			//掩码
		}
	}
}

主函数调用:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

//密码隐藏的实现
void hiddenPassword(char* str);

int main()
{
	char USERNAME[10] = { "CSDN" };			//初始用户名
	char PASSWORD[10] = { "123456" };		//初始密码
	char username[10] = { "" };				//用户输入的用户名
	char password[10] = { "" };				//用户输入的密码

	printf("请输入用户名和密码\n\n");

	//用户名部分
	printf("请输入用户名:\n");
	while (1)
	{
		//输入用户名
		gets_s(username, sizeof(username) / sizeof(username[0]));
		//字符串比较,两个字符串相同,则返回0
		if (strcmp(USERNAME, username) == 0)	
		{
			printf("用户名正确!\n\n");
			break;
		}
		else
			printf("用户名输入错误!请重新输入:\n");
	}

	//密码部分
	printf("请输入密码:\n");
	while (1)
	{
		//密码隐藏的实现
		hiddenPassword(password);
		//字符串比较,两个字符串相同,则返回0
		if (strcmp(PASSWORD, password) == 0)
		{
			printf("\n密码正确!\n\n");
			break;
		}
		else
			printf("\n密码输入错误!请重新输入:\n");
	}

	system("pause");
	return 0;
}

二、运行结果

默认用户名:CSDN
默认密码:123456
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢乐的小鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值