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

📄 login.c

📁 学生选课系统
💻 C
字号:

/*////////////////////////////////////////////////////

Author:         
Tiem:           2007-10-09
Files Name:     Register.c
Functions:      主要是登录取功能函数的实现部分

/////////////////////////////////////////////////////*/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include "Structs.h"
#include "Functions.h"

/*学生登录*/

void stuLogin()
{
	int i=0,j=0,k,m=0;
	char c;
	int flag=0,flag1=0;
    USER use,use1;
    FILE *fp; 

    if ((fp=fopen("stuUsers.dat","rb+"))==NULL)                /*以读的形式打开文件stuUsers.dat,如果不存在则新建立一个*/
    {
        printf("不能建立stuUsers.dat文件!\n");
        return;
    }
    else
    {
		fseek(fp,0,2);
		if (ftell(fp)>0)
		{
			while (i<3)                       /*判断用户名输入的次数是否小于3次,当大于3次时退出系统*/
			{   
				system("cls");
				for (m=0;m<=5;m++)
					printf("\n");

				printf("\n\t\t\t请输入用户名: ");
				scanf("%s",use.userName);  

				rewind(fp);
				while(!feof(fp))
				{
					fread(&use1,sizeof(USER),1,fp);
					if (strcmp(use1.userName,use.userName)==0) /*验证用户名的正确性*/
					{
						flag=1;
					}
				}
				if(flag==1) 
				{
					while (j<3)            /*判断用户输入的密码的次数是否小于3次,当大于三次是退出系统*/
					{
						printf("\n\t\t\t请输入密码: ");        
						for (k=0;k<15 && (c=getch())!='\r';k++)                              /*用户输入的密码显示星号*/
						{
							use.Password[k]=c ; 
							putchar('*'); 
						}
						use.Password[k]='\0';
				
						rewind(fp);
						while(!feof(fp))                               
						{
							fread(&use1,sizeof(USER),1,fp);
							if (strcmp(use.Password,use1.Password)==0)    /*验证输入的密码是否正确*/
							{	 
								flag1=1;
							} 
						}
						if (flag1==1)
						{ 
							printf("\n\n");
							printf("\t\t╭────────────────────╮\n");
							printf("\t\t∣            用户信息通过验证!           ∣\n");
							printf("\t\t∣────────────────────∣\n");
							printf("\t\t∣        欢迎使用学生选课管理系统!       ∣\n");
							printf("\t\t╰────────────────────╯\n");
							fclose(fp);                                          
						    system("pause");
							SMenu();
							return;
						}
						else
						{
							printf("\n\n\t\t-------密码错误,请重新输入!---------\n");
						}
						j++;
					}
					printf("\n\t\t#########连续3次输入错误,退出!##########\n"); 
					return;
				}
				else
				{
					printf("\n\t\t--------用户名不存在,请重新输入!-----------\n");
					system("pause");
				}
				i++;
			}
			printf("\n\t\t\t#####连续3次输入错误,向管理员申请权限!######\n"); 
			return;
		}
		else
		{
			printf("\n\t\t-------不存在用户,请向管理员申请注册!-------\n");
			return;
		}
	}
}


/*教师登录*/

void teacherLogin()
{
	int i=0,j=0,k,m=0;
	char c;
	int flag=0,flag1=0;
    USER use,use1;
    FILE *fp; 

    if ((fp=fopen("teacherUsers.dat","rb+"))==NULL)                /*以读的形式打开文件teacherUsers.dat,如果不存在则新建立一个*/
    {
        printf("不能建立teacherUsers.dat文件!\n");
        return;
    }
    else
    {
		fseek(fp,0,2);
		if (ftell(fp)>0)
		{
			while (i<3)                       /*判断用户名输入的次数是否小于3次,当大于3次时退出系统*/
			{   
				system("cls");
				for (m=0;m<=5;m++)
					printf("\n");

				printf("\n\t\t请输入用户名: ");
				scanf("%s",use.userName);  

				rewind(fp);
				while(!feof(fp))
				{
					fread(&use1,sizeof(USER),1,fp);
					if (strcmp(use1.userName,use.userName)==0) /*验证用户名的正确性*/
					{
						flag=1;
					}
				}
				if(flag==1) 
				{
					while (j<3)            /*判断用户输入的密码的次数是否小于3次,当大于三次是退出系统*/
					{
						printf("\n\t\t请输入密码: ");        
						for (k=0;k<15 && (c=getch())!='\r';k++)                              /*用户输入的密码显示星号*/
						{
							use.Password[k]=c ; 
							putchar('*'); 
						}
						use.Password[k]='\0';
				
						rewind(fp);
						while(!feof(fp))                               
						{
							fread(&use1,sizeof(USER),1,fp);
							if (strcmp(use.Password,use1.Password)==0)    /*验证输入的密码是否正确*/
							{	 
								flag1=1;
							} 
						}
						if (flag1==1)
						{ 
							printf("\n\n");
							printf("\t\t╭────────────────────╮\n");
							printf("\t\t∣            用户信息通过验证!           ∣\n");
							printf("\t\t∣────────────────────∣\n");
							printf("\t\t∣        欢迎使用学生选课管理系统!       ∣\n");
							printf("\t\t╰────────────────────╯\n");
							fclose(fp);                                          
						    system("pause");
							TMenu();
							return;
						}
						else
						{
							printf("\n\n\t\t-------密码错误,请重新输入!---------\n");
						}
						j++;
					}
					printf("\n\t\t#########连续3次输入错误,退出!##########\n"); 
					return;
				}
				else
				{
					printf("\n\t\t--------用户名不存在,请重新输入!-----------\n");
					system("pause");
				}
				i++;
			}
			printf("\n\t\t\t#####连续3次输入错误,向管理员申请权限!######\n"); 
			return;
		}
		else
		{
			printf("\n\t\t-------不存在用户,请向管理员申请注册!-------\n");
			system("pause");
			system("cls");
			return;
		}
	}
}


/*管理元登录*/

void admLogin()
{
	int i=0,j=0,k,m=0;
	char c;
	int flag=0,flag1=0;
    USER use,use1;
    FILE *fp; 

    if ((fp=fopen("admUsers.dat","rb+"))==NULL)                /*以读的形式打开文件admUsers.dat,如果不存在则新建立一个*/
    {
        printf("不能建立admUsers.dat文件!\n");
        return;
    }
    else
    {
		fseek(fp,0,2);
		if (ftell(fp)>0)
		{
			while (i<3)                       /*判断用户名输入的次数是否小于3次,当大于3次时退出系统*/
			{   
				system("cls");
				for (m=0;m<=5;m++)
					printf("\n");

				printf("\n\t\t\t请输入用户名: ");
				scanf("%s",use.userName);  

				rewind(fp);
				while(!feof(fp))
				{
					fread(&use1,sizeof(USER),1,fp);
					if (strcmp(use1.userName,use.userName)==0) /*验证用户名的正确性*/
					{
						flag=1;
					}
				}
				if(flag==1) 
				{
					while (j<3)            /*判断用户输入的密码的次数是否小于3次,当大于三次是退出系统*/
					{
						printf("\n\t\t\t请输入密码: ");        
						for (k=0;k<15 && (c=getch())!='\r';k++)                              /*用户输入的密码显示星号*/
						{
							use.Password[k]=c ; 
							putchar('*'); 
						}
						use.Password[k]='\0';
				
						rewind(fp);
						while(!feof(fp))                               
						{
							fread(&use1,sizeof(USER),1,fp);
							if (strcmp(use.Password,use1.Password)==0)    /*验证输入的密码是否正确*/
							{	 
								flag1=1;
							} 
						}
						if (flag1==1)
						{ 
							printf("\n\n");
							printf("\t\t╭────────────────────╮\n");
							printf("\t\t∣            用户信息通过验证!           ∣\n");
							printf("\t\t∣────────────────────∣\n");
							printf("\t\t∣        欢迎使用学生选课管理系统!       ∣\n");
							printf("\t\t╰────────────────────╯\n");
							fclose(fp);                                          
						    system("pause");
							AMenu();
							return;
						}
						else
						{
							printf("\n\n\t\t-------密码错误,请重新输入!---------\n");
						}
						j++;
					}
					printf("\n\t\t#########连续3次输入错误,退出!##########\n"); 
					return;
				}
				else
				{
					printf("\n\t\t--------用户名不存在,请重新输入!-----------\n");
					system("pause");
				}
				i++;
			}
			printf("\n\t\t#####连续3次输入错误,向管理员申请权限!######\n"); 
			return;
		}
		else
		{
			printf("\n\t\t-------不存在用户,请向管理员申请注册!-------\n");
			return;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -