⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logonjudge.cpp

📁 很好的学习C++源码,基于C++版学生管理系统
💻 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 + -