📄 logonjudge.cpp
字号:
#include "LogonInformation.h"
//函数功能:判断输入的户名,密码是否正确,并返回输入正确的用户名字符串.退出时返回"-1"
//输入参数:用户名和密码的输入
//输出参数:相关菜单显示及提示信息
//返回值: 返回一个char类型的指针字符串
//修改人:邹明上
//修改时间:2006.06.26
char* CLogonInformation::LogonJudge()
{
strcpy(m_sUseName_T,"teacher"); //预设老师名称
strcpy(m_sUseName_S,"student"); //预设学生名称
strcpy(m_sPassword_T,"teacher"); //预设老师密码
strcpy(m_sPassword_S,"student"); //预设学生密码
for(int nIn = 0;nIn < 9;nIn ++)
{
m_sTemp_Us[nIn] = '\0'; //临时存放输入的用户名字符串变量初始化
m_sTemp_Ps[nIn] = '\0'; //临时存放输入的用户密码字符串变量初始化
}
m_cTemp = '\0'; //存放每次输入一个字符初始化
m_nNowJ = 0; //控制输入用户名循环变量初始化
m_nNowI = 0; //控制输入用户密循环变量初始化
m_bBackMarkJ = 0; //判断输入用户名时,是否按了退格键:0表示没有 1表示有
m_bBackMarkI = 0; //判断输入密码时,是否按了退格键:0表示没有 1表示有
char cKey = 'y'; // 控制是否要继续输入用户名,密码
while(cKey == 'Y'||cKey =='y')
{
system("cls");
printf("\n\n\n");
printf("\t\t **********************************\n");
printf("\t\t * *\n");
printf("\t\t * *\n");
printf("\t\t * 登陆学生管理系统 *\n");
printf("\t\t * *\n");
printf("\t\t * *\n");
printf("\t\t **********************************\n\n");
printf("\t\t 如: 请输入登陆用户名:student\n");
printf("\t\t 请输入用户密码:*******\n");
printf("\t\t\t 说明: Esc键退出\n\n\n");
printf("\t\t 请输入登陆用户名(8位内):");
if(m_bBackMarkI == 0 && m_bBackMarkJ == 1)
{
printf("%s",m_sTemp_Us);
m_bBackMarkJ = 0;
}
if((m_nNowJ == 8)||m_bBackMarkI == 1 && m_bBackMarkJ == 1)
{
printf("%s",m_sTemp_Us);
}
else
{
while(m_nNowJ < 8 && !m_bBackMarkJ)
{
fflush(stdin);
m_cTemp = getch();
switch(m_cTemp)
{
case 13:
{
m_nNowJ = 8;
break;
}
case 8:
{
m_bBackMarkJ = 1;
m_nNowJ = m_nNowJ - 1;
if(m_nNowJ < 0)
{
m_nNowJ = 0;
}
m_sTemp_Us[m_nNowJ] = '\0';
break;
}
case 27:
{
return "-1";
}
default:
{
m_sTemp_Us[m_nNowJ] = m_cTemp;
m_nNowJ ++;
putch(m_cTemp);
}
}
}
}
if(m_nNowJ == 8) //当用户名输入8位即满了或者是在输入用户名是按了Enter键才会进行密码输入
{
printf("\n\t\t 请输入用户密码(8位以内):");
if(m_bBackMarkI == 1)
{
for(int nK = 0;nK < m_nNowI;nK ++)
{
printf("*");
}
m_bBackMarkI = 0;
}
while(m_nNowI < 8 && !m_bBackMarkI)
{
fflush(stdin);
m_cTemp = getch();
switch(m_cTemp)
{
case 13:
{
m_nNowI = 8;
break;
}
case 8:
{
m_bBackMarkI = 1;
m_nNowI = m_nNowI - 1;
if(m_nNowI < 0)
{
m_nNowI = 0;
}
m_sTemp_Ps[m_nNowI] = '\0';
break;
}
case 27:
{
return "-1";
break;
}
default:
{
m_sTemp_Ps[m_nNowI] = m_cTemp;
m_nNowI = m_nNowI + 1;
printf("*");
break;
}
}
}
if(m_nNowI == 8)
{
if(!strcmp(m_sTemp_Us,m_sUseName_T) && !strcmp(m_sTemp_Ps,m_sPassword_T))
{
printf("\n\n\t\t\t登陆成功 任意键进入>>>");
fflush(stdin);
getch();
return m_sTemp_Us; //这时返回的是"teacher"字符串
}
else if(!strcmp(m_sTemp_Us,m_sUseName_S) && !strcmp(m_sTemp_Ps,m_sPassword_S))
{
printf("\n\n\t\t\t登陆成功 任意键进入>>>");
fflush(stdin);
getch();
return m_sTemp_Us; //这时返回的是"student"字符串
}
else
{
for(int nIn = 0;nIn < 9;nIn ++)
{
m_sTemp_Us[nIn] = '\0';
m_sTemp_Ps[nIn] = '\0';
}
m_cTemp = '\0';
m_nNowJ = 0;
m_nNowI = 0;
m_bBackMarkJ = 0;
m_bBackMarkI = 0; //重置上述临时使用的参数值
printf("\n\n\t\t 系统信息:登陆失败.. 任意键继续>>");
fflush(stdin);
getch();
}
}
}
}
return "-1";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -