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

📄 studentmanagersystem.c

📁 软件的名称:学生信息管理系统 软件的功能:登录功能、主菜单功能、学生信息录入功能、学生记录的排序功能、查询和删除功能、学生信息打印功能、记录保存功能、记录读取功能、分数统计报表功能和退出功能等。
💻 C
📖 第 1 页 / 共 2 页
字号:
	//int printstuinfo;
	int value;
	char ch[1];
	/*-------打印界面名称,菜单选项-------*/
 	do
	{
	//CleanMenuInfo();
	SetXY(31,2);
	printf("Sort Student Info");
	SetXY(24,5);
	printf("1........StudentID sort asc");
	SetXY(24,6);
	printf("2........StudentID sort desc");
	SetXY(24,7);
	printf("3........Totalscore sort asc");
	SetXY(24,8);
	printf("4........Totalscore sort desc");
	SetXY(24,9);
	printf("0........Back to MainMenu");
    SetXY(24,17);
	printf("please enter your choose[0-4]:");
	/*----打印结束------*/

	ch[0]='\0';
	SetXY(54,17);
    input(ch,1);//定长输入
	value=MainMenuValidate(ch,'0','4');//调用主菜单验证函数
	if (value==1)
	{		
		EmptyMessage(54,17,78,17);//打印空操作提示
	}	
	else if(value==2)
	{
		InvalidMessage(54,17,78,17);//打印非法字符提示
	}
	else if(value==3)
	{
		ExceedMessage(54,17,78,17);//打印超出范围提示
	}
	else if(value==0)
	{			
		switch(ch[0])
			{
				case '1':CleanMenuInfo();
					     SnoSortaAsc(head,Sno_count);
						 PrintStu(&head,Sno_count,0,"Sno Sort Asc",2);
                         CleanMenuInfo();
                          break;
				case '2':CleanMenuInfo();
					     SnoSortDesc(head,Sno_count);
						 PrintStu(&head,Sno_count,0,"Sno Sort Desc",2);
						 CleanMenuInfo();
                         break;
				case '3':CleanMenuInfo();
					     ScoreSortAsc(head,Sno_count,1);
						 PrintStu(&head,Sno_count,0,"Score Sort Asc",2);
						 CleanMenuInfo();
                         break;
				case '4':CleanMenuInfo();
					     ScoreSortDesc(head,Sno_count,1);
						 PrintStu(&head,Sno_count,0,"Score Sort Asc",2);
						 CleanMenuInfo();
                         break;
				case '0':return 0;			     
			}
		}	
	}while(1);
}

//统计界面
int StaticStuData(int xcursor)
{
	int accept;//对打印的下一项目进行处理
    CleanMenuInfo();//清除菜单界面名称,信息提示框内容,菜单项
	SetXY(32,2);
	printf("Static Stu Data");
	SetXY(xcursor,5);
	printf("Chinese   Average:");
	//调用求平均分函数
	printf(" %-5.1f\n",SubjecAverage(head,0,Sno_count));
	SetXY(xcursor,6);
	printf("Math      Average:");
	//调用求平均分函数
	printf(" %-5.1f\n",SubjecAverage(head,1,Sno_count));
	SetXY(xcursor,7);
	printf("English   Average:");
	//调用求平均分函数
	printf(" %-5.1f\n",SubjecAverage(head,2,Sno_count));	
	SetXY(xcursor,8);
	printf("Physics   Average:");
	//调用求平均分函数
	printf(" %-5.1f\n",SubjecAverage(head,3,Sno_count));
	SetXY(xcursor,9);
	printf("Chemistry Average:");
	//调用求平均分函数
	printf(" %-5.1f\n",SubjecAverage(head,4,Sno_count));
	SetXY(1,19);
	printf("Press any keybond to  view the top three of every subject...");
	getch();	
	CleanMenuInfo();
	accept=0;
    accept=TopThree_subject(head,0,Sno_count,"Math Top Three");
	if(accept==1)
	{
		CleanMenuInfo();
		accept=0;
		accept=TopThree_subject(head,1,Sno_count,"Chin Top Three");
		if(accept==0)
			return 0;
	}
	if(accept==1)
	{
		CleanMenuInfo();		
		accept=0;
		accept=TopThree_subject(head,2,Sno_count,"Eng  Top Three");
		if(accept==0)
			return 0;
	}
	if(accept==1)
	{
		CleanMenuInfo();
		accept=0;
		accept=TopThree_subject(head,3,Sno_count,"Phy  Top Three");
		if(accept==0)
			return 0;
	}
	if(accept==1)
	{
		CleanMenuInfo();	
		accept=0;
		accept=TopThree_subject(head,4,Sno_count,"Chem Top Three");
		if(accept==0)
			return 0;
	}
	if(accept==1)
	{
		CleanMenuInfo();
		accept=0;
		accept=TopThree_score(head,Sno_count,"Score Top Three");
		if(accept==0)
			return 0;
	}
	if(accept==1)
	{
		CleanMenuInfo();		
		accept=0;
		accept=TopThree_avg(head,Sno_count,"Avg  Top Three");
		if(accept==0 ||accept==1)
			return 0;
	}
	return 1;
}

//退出系统菜单界面
int QuitSystem()
{
	int savedata;
	int value;
	char ch[1];//存放选择菜单项
	/*-------打印界面名称,菜单选项-------*/
	SetXY(34,2);
	printf("Exit System");

    SetXY(24,5);
    if(inforsave==1)
  	{
		printf("1........Save and Exit System");
		SetXY(24,6);
		printf("2........Not Save and Exit System");
		SetXY(24,7);
		printf("0........Back to MainMenu");
		SetXY(24,17);
		printf("please enter your choose[0-2]:");
	}
	else
	{
		printf("1........Exit System");
		SetXY(24,6);
		printf("0........Back to MainMenu");
		SetXY(24,17);
		printf("please enter your choose[0-1]:");
	}
	/*----打印结束------*/
do
	{
	//CleaseMessage();
	SetXY(54,17);
    input(ch,1);//定长输入
	if(inforsave==1)
	{
		value=MainMenuValidate(ch,'0','2');//调用主菜单验证函数
		if (value==1)
		{		
			EmptyMessage(54,17,78,17);//打印空操作提示
		}	
		else if(value==2)
		{
			InvalidMessage(54,17,78,17);//打印非法字符提示
		}
		else if(value==3)
		{
			ExceedMessage(54,17,78,17);//打印超出范围提示
		}
		else if(value==0)
		{	
			switch(ch[0])
			{
				case '1':ClearScreen(54,17,78,17);//清除输入的
						 savedata=SaveData(5,10,1);//执行数据保存
						 if(savedata==1)
						 {
							 ClearScreen(1,19,78,20);//清楚信息框内容
							 SetXY(1,19);
							 exit(0);						 
						 }
						 break;
				case '2':
					     ClearScreen(54,17,78,17);//清除输入的
						 ClearScreen(1,19,78,20);//清楚信息框内容
						 SetXY(1,19);
						 exit(0);     
				case '0':return 0;				 
			}
		}
	}
	else
	{
		value=MainMenuValidate(ch,'0','1');//调用主菜单验证函数
		if (value==1)
		{		
			EmptyMessage(54,17,78,17);//打印空操作提示
		}	
		else if(value==2)
		{
			InvalidMessage(54,17,78,17);//打印非法字符提示
		}
		else if(value==3)
		{
			ExceedMessage(54,17,78,17);//打印超出范围提示
		}
		else if(value==0)
		{	
			switch(ch[0])
			{
				case '1':
					     ClearScreen(54,17,78,17);//清除输入的
						 ClearScreen(1,19,78,20);//清楚信息框内容
						 SetXY(1,19);
						 exit(0);
				case '0':return 0;					     
			}
		}
	}
	}while(1);
}

//打印主界面菜单
void printMainMenu(char str[])
{

	/*-------打印界面名称,菜单选项-------*/
	SetXY(35,2);
	printf("%s",str);
    SetXY(24,5);
	printf("1........Add Stu Info");
	SetXY(24,6);
	printf("2........Sort Stu Info");
	SetXY(24,7);
	printf("3........Print Stu Info");
	SetXY(24,8);
	printf("4........Save Stu Data");
	SetXY(24,9);
	printf("5........Load Stu Data");
	SetXY(24,10);
	printf("6........Search Stu Info");
	SetXY(24,11);
	printf("7........Static Stu Data");
	SetXY(24,12);
	printf("0........Exit System");
    SetXY(24,17);
	printf("please enter your choose[0-7]:");
}

//主菜单界面
void MainMenu()
{
	/*
	int savedata;
	int addstuinfo;
	int searchstuinfo;
	int quitsystem;
	int sortstuinfo;
	int printstuinfo;
	int menu;
	*/
	int value;
	char ch[1]; 			
	do
	{
		SetTextCorlor(TEXTCOLOR);
		printMainMenu("Main Menu");	
		ch[0]='\0';
		SetXY(54,17);
		input(ch,1);//定长输入
		value=MainMenuValidate(ch,'0','7');//调用主菜单验证函数
		if (value==1)
		{	
			EmptyMessage(54,17,78,17);//打印空操作提示
		}	
		else if(value==2)
		{
			InvalidMessage(54,17,78,17);//打印非法字符提示
		}
		else if(value==3)
		{
			ExceedMessage(54,17,78,17);//打印超出范围提示
		}
		else if(value==0)
		{	switch(ch[0])
				{
					case '1':
							 if(Sno_count>=MAXSNO_COUNT)
							 {
								 Over_hundred(MAXSNO_COUNT);//添加记录超过100条后提示
							 }
							 else
							 {
								CleanMenuInfo();
								EnterAddStuInfo();//添加学生记录
							 }
							 CleanMenuInfo();//界面名称,菜单项重写
							 break;
					case '2':if(Sno_count<=0)
							 {
								 NOStuInfoMessage();//无纪录时提示
							 }
							else
							{
								CleanMenuInfo();
								SortStuInfo();
							}
							CleanMenuInfo();//界面名称,菜单项重写
							break;
					case '3':if(Sno_count<=0)
							 {
								 NOStuInfoMessage();//无纪录时提示
							 }
							else
							{
								CleanMenuInfo();
								PrintStu(&head,Sno_count,0,"Print Stu Info",1);
							}
							CleanMenuInfo();//界面名称,菜单项重写
							break;
					case '4':CleanMenuInfo();
							 SaveData(5,10,0);//执行数据保存
							 CleanMenuInfo();
							 break;
				
					case '5':CleanMenuInfo();
							  LoadData(10);//导入输入
							  CleanMenuInfo();
							  break;
					case '6':if(Sno_count<=0)
							 {
								 NOStuInfoMessage();//无纪录时提示
							 }
							else
							{
								CleanMenuInfo();//界面名称,菜单项重写
								SearchStuInfo();
							}
							CleanMenuInfo();//界面名称,菜单项重写
							break;
					case '7':if(Sno_count<=0)
							 {
								 NOStuInfoMessage();//无纪录时提示
							 }
							else
							{
								StaticStuData(26);//统计界面
							}
							CleanMenuInfo();//界面名称,菜单项重写
							break;
					case '0':CleanMenuInfo();
							 QuitSystem();
							 CleanMenuInfo();//界面名称,菜单项重写
							 break;
				}
		}
	}while(1);
}

void main()
{
	student *temp;
	int sno_temp;
	int i_temp=0;
	int login;	
	system("chcp 437");
	InitLink(stu,Sno_count);
	//初始化sign数组
	for(;i_temp<100;i_temp++)
	{
		sign[i_temp][0]=i_temp+1;
		sign[i_temp][1]=0;
	}
	//在链表中存在的学号标置为1
	temp=head;
	while(temp)
	{
		sno_temp=atoi(temp->sno);
		sign[sno_temp-1][1]=1;
		temp=temp->next;
	}
//printf("sign=%d\n",sign[9][1]);

	login=LoginMenu();//登录界面
	if(login==0)
	{
		CleanMenuInfo();
		MainMenu();
	}
	else 
		return;
}
void main1()
{
	unsigned short int i;
	for(i=1;i<256;i++)
	{
		SetTextCorlor(i);
		printf("%10d",i);
	}
}

⌨️ 快捷键说明

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