【C语言】 做一个简易的登录验证(功能)界面

目录

源码分享

效果展示


登录验证

账号:admin

密码:123456 

[回车换行 回车确认登录]

源码分享

#include<stdio.h>
#include<windows.h>//gotoxy
#include<conio.h>//getch
#include<string.h>//strcmp
#define ROW 14
#define COL 14

void gotoxy(int x,int y)//形参
{
	HANDLE hOut;
	COORD pos= {x,y};
	// 光标的起始位(第1列,第3行) 0是第1列 2是第3行
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hOut, pos);
	//printf("定位光标位置搜索(%d,%d)\n",pos.X,pos.Y);
}

void paintWindow()       //用户登录窗口
{
	int startX=6;
	int startY=5;
	int width=20;
	int height=20;
	int i=0;
	//打印顶部   
	//光标定位 找规律 ┗  ┛ ┏ ┓ ┃ ━
	//顶部 y不变 x 在变 (x-x+w)
	gotoxy(startX,startY);
	printf("┏");
	for(i=0;i<width-2;i++)  //控制循环次数width-2次
	{	
		printf("━ ");
	}
	printf("┓");
	//左边 x不变 y在变 (y到y+height)
	for(i=1;i<=height-2;i++)
	{
		gotoxy(startX,startY+i);
		printf("┃");
	}
	
	//右边 x不变 =startx+width-1  y在变 y 到 y+height
	for(i=1;i<=height-2;i++)
	{
		gotoxy(startX+width*2-3,startY+i);
		printf("┃");
	}
	//底部 x在变化    y不变 (x到x+width) ━ 
	gotoxy(startX,startY+height-1);
	printf("┗");
	for(i=0;i<width-2;i++)
	{
		printf("━ ");	
	}
	printf("┛");

	gotoxy(startX,startX+height);	
}

void login()     //用户登录界面
{
    char ch=0;
	int i=0;
	char name[9]={0};//字符数组部分初始化
	char pwd[9]={0};//字符数组部分初始化
	//绘制一个窗口
	paintWindow();
	//绘制标题 标签
	gotoxy(21,9);
	printf("登录窗口");
	
    gotoxy(6+5,12);
	printf("账号:");
	
    gotoxy(6+5,16);
	printf("密码:");
	
	gotoxy(18,12);//光标定位在用户名输入的位置
	//用户名的输入 存储
	while(1)
	{
		ch=getch();
		if(ch=='\r'&&i==0)  //任何内容都没输
		{	
			continue;
		}
		if(ch=='\r'&&i>0||i==8)  //长度最多八位
		{
			break;
		}
		if(ch>='0'&&ch<='9' || ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z')
		{
			putch(ch);
			name[i]=ch;
			++i;
		}	
	}

	gotoxy(18,16); //光标定位在密码输入的位置
	i=0;//使用同一个计数器 需要重置
	//密码输入 存储
	while(1)
	{
		ch=getch();
		if(ch=='\r'&&i==0)  //任何内容都没输
		{
			continue;
		}
		if(ch=='\r'&&i>0||i==8)  //长度最多八位
		{
			break;
		}
		if(ch>='0'&&ch<='9' || ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z')
		{
			putch('*');
			pwd[i]=ch;
			++i;
		}	
	}
	
    gotoxy(15,18);  //显示登录成功 登录失败
	if(strcmp(name,"admin")==0&&strcmp(pwd,"123456")==0)
	{
		printf("登录成功\n");
	}
	else
	{
		printf("登录失败\n");
	}

	gotoxy(0,27);
	
  //登录验证  admin 123456
}

int main()
{	
    login();
	return 0;	
}

效果展示

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

chenruhan_QAQ_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值