// 登录界面 第一次可设置密码 之后的登录要输入密码进行验证 密码长度8~12
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<Windows.h>
#define LEN 12
static int count=0;
int main(){
char password[LEN+1];
memset(password,NULL,LEN+1);
char ch;
if(count==0){
loop_passwordSet:printf("this is your first time to login,pls set your password.\n");
printf("the length of password has a length between 8~12 without any nonprint charators.\n");
int inputLength=0;
ch=getch();
while(isprint(ch)){
if(ch!=' '){
putchar('*');
password[inputLength]=ch;
inputLength++;
ch=getch();
}
if(!isprint(ch))
break;
if(inputLength==LEN)
break;
}
printf("\n");
printf("what you have just input is: %s\n",password);
printf("Press Y/N to confirm.\n");
ch=getch();
switch(ch){
case 'Y' :{
printf("password set completed!\n");
count=1;
break;
}
case 'y' :{
printf("password set completed!\n");
count=1;
break;
}
case 'N': {
printf("password set canceled.\n");
goto loop_passwordSet;
}
case 'n': {
printf("password set canceled.\n");
goto loop_passwordSet;
}
default: {
printf("invalid input,pls try again.\n");
goto loop_passwordSet;
}
}
}
if(count==1){
char toMatchPassword[LEN+1];
memset(toMatchPassword,NULL,LEN+1);
int toMatchLength=0;
loop_inputPassword:
printf("input your password to login.\n");
ch=getch();
while(isprint(ch)){
if(ch!=' '){
putchar('*');
toMatchPassword[toMatchLength]=ch;
ch=getch();
toMatchLength++;
}
if(!isprint(ch)){
break;
}
if(toMatchLength==LEN){
break;
}
}
if(strcmp(password,toMatchPassword)==0){
printf("password Correct! LOGIN SUCCESS!\n");
printf("**********************\n");
printf("**********************\n");
printf("** WELCOME **\n");
printf("**********************\n");
printf("**********************\n");
printf("*********** By ZHAOs*\n");
Sleep(2000);
}
if(strcmp(password,toMatchPassword)!=0){
printf("Password input error! Press Y to try again!\n");
char ch=getch();
switch(ch){
case 'Y':{
goto loop_inputPassword;
}
case 'y':{
goto loop_inputPassword;
}
case 'N':{
exit(0);
}
case 'n':{
exit(0);
}
default:
{
printf("invalid input, now the system would abort....\n");
Sleep(2000);
exit(0);
}
}
}
}
system("pause");
return 0;
}
C语言实现密码输入显示星号 VS2010 亲测通过
原创
©著作权归作者所有:来自51CTO博客作者codejam的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【数据结构】C语言实现顺序栈
【数据结构】第三章——栈、队列和数组详细介绍通过C语言实现顺序栈
数据结构 C语言 顺序栈 -
C语言实现密码输入显示星号 VS2010 亲测通过 功能加强版
// 登录界面 第一次可设置密码 之
#include 特殊字符 git -
初识C语言//vs2010下载教学
C语言简介和下载vs2010
c语言 汇编语言 编程语言 -
亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细) good源码包 javascript 命令提示符 环境变量 静态编译