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

📄 功能文档.doc

📁 这是以项目开发为列的学生管理系统
💻 DOC
字号:
                            学生信息管理系统
Admin:wuqianliang                  passward:123456     
主功能界面   
 void Main_Menu()
 { 	    char a;
		system("cls");
		
        nowtime();
   		wenttoxy(28,0);printf("****************************\n");
		wenttoxy(28,1);printf("*       Main  Menu         *\n");
		wenttoxy(28,2);printf("****************************\n");
		wenttoxy(28,3);printf("1.Add Stu Info\n");
		wenttoxy(28,4);printf("2.Sort  Stu Info\n");
		wenttoxy(28,5);printf("3.Print Stu Info\n");
		wenttoxy(28,6);printf("4.Save Stu Data\n");
		wenttoxy(28,7);printf("5.Load Stu Data\n");
		wenttoxy(28,8);printf("6.Search Stu Info\n");
		wenttoxy(28,9);printf("7.Static Stu Data\n");
		wenttoxy(28,10);printf("0.Exit System\n");
		wenttoxy(5,18);printf("please enter a number[0-7]:");
		wenttoxy(0,24);printf("---Author:WuQianLiang---");
	
		
while(1)

		{   
					 a=getche();
					 if(a<'0' || a>'7')
					 { 
									wenttoxy(5,19); 
									printf("your puts is wrong ,please try again");
									getch();
						  
					 }
     	 switch(a)     
				{                    
						     case '0':Exit_System();  getch();out();
							 case '1':add() ; getch();   break;
							 case '2':Sort_Stu_Info();  getch()  ;break; 
							 case '3':print();PrintInfo( stu, counts, 1,0,1);getch();
							 case '4':Save_Stu_Data();save( counts);break;  
							 case '5':Load_Stu_Data();load_message();break;		 
							 case '6':Search_Stu_Info();getch(); break; 
							 case '7':Static();break;
		 
				}

		} 
 
}   
其中选择0~7可以进入不同的功能界面,执行相应的操作.如果不是这个范围内的数字,系统会自动报错重新输入.
按数字键1可以进入添加学生成绩,年龄的界面.
void  addcaidan()
{		system("cls");
		wenttoxy(28,0);printf("****************************\n");
		wenttoxy(28,1);printf("*       Add Stu Info       *\n");
		wenttoxy(28,2);printf("****************************\n");
		wenttoxy(28,3);printf("Sno:");
		wenttoxy(28,4);printf("Name:");
		wenttoxy(28,5);printf("Age:");
        wenttoxy(28,6);printf("Chinese:");
        wenttoxy(28,7);printf("Enlish:");
        wenttoxy(28,8);printf("Chemistry:");
		wenttoxy(28,9);printf("Physical:");
		wenttoxy(28,10);printf("Math:");
} 

其中各项数据的输入均以回车符结束.如果要修改输入的信息,可以通过空格键和backspace键来实现.
各个数据项的输入如果有错误时会自动提示错误信息.
当添加完一个学生记录时,会提示是否继续添加记录,如果选择y或Y则会继续添加记录,否则返回主菜单.
主菜单中选择数字键2可以按学号,总分进行升序或降序排列.
 void  Sort_Stu_Info()
  {	    
	    char c;
	    system("cls");
		wenttoxy(28,0);printf("****************************\n");
		wenttoxy(28,1);printf("*       Sort  Stu Info     *\n");
		wenttoxy(28,2);printf("****************************\n");
		wenttoxy(28,3);printf("1-------Order By Sno  Desc\n");
		wenttoxy(28,4);printf("2-------Order By Sno  Asc\n");
		wenttoxy(28,5);printf("3-------Order By Score  Desc\n");
		wenttoxy(28,6);printf("4-------Order By Score  Asc\n");
		wenttoxy(28,7);printf("0-------back to Main  Menu\n");
		wenttoxy(5,18);printf("Please enter your choose[0-4]:") ;
    if(counts==0)
		{
		   printf("it is not having records");
		   getch();
		   Main_Menu();
		}
     while(1) 
		{
	        wenttoxy(37,18);
		    c=getche();
			if(!(c>='0' && c<='4'))
				{
				  printf("That you import is illegal character,please try again");
				}
			else 
				break;
		}
	    switch(c)
			{
		case '1':OrderBySno(1);PrintInfo( stu, counts, page,1,1);break;
		case '2':OrderBySno(-1);break;
        case '3':
			OrderByTotscore(1);
			PrintInfo( stu, counts, page,0,-1);
			break;
        case '4':OrderByTotscore(-1);PrintInfo( stu, counts, page,0,-1);break;
     	case '0':Main_Menu();break;	
	
			}
}

如果之前没有任何的学生记录,则不进行任何操作,按任意键返回主菜单.否则按相应的数字键可以进行相应的排序,降序操作.
排序的结果,有提示用户是否需要打印信息,如果选择y或Y则打印出所需要的信息,否则按其他键返回排序菜单的界面.
 void  print()
	     {   
			system("cls");
			wenttoxy(28,0);printf("****************************\n");
			wenttoxy(28,1);printf("*          print           *\n");
			wenttoxy(28,2);printf("****************************\n");
	
		 }

从主菜单进入打印菜单项之后,可以打印出所有学生的信息,然后按相应的数字键可以进行操作.1表示返回上一页,2表示下一页,3表示回到第一页,表示返回最后一页,6表示删除,0表示回到主菜单.
查找学生信息:
void  Search_Stu_Info()
  {     char c;  
		system("cls");
		wenttoxy(28,0);printf("****************************\n");
		wenttoxy(28,1);printf("*       Search  Stu Info   *\n");
		wenttoxy(28,2);printf("****************************\n");
		
        if(counts==0)
				{  
					printf("it is not having records");
					Main_Menu();
				}
         
        wenttoxy(28,3);printf("1-------Search By Sno \n");
		wenttoxy(28,4);printf("2-------Search By Name\n");
		wenttoxy(28,5);printf("0.back to Main  Menu\n");
		wenttoxy(5,18);printf("Please enter your choose[0-2]:\n") ;
		 while(1)
			{
			    wenttoxy(36,18);c=getche();
				if(!(c>='0' && c<='2'))
						{	
								printf("your puts is wrong");
						}
				else
					break;
			}
		 switch(c)
			{
				 case '1': wenttoxy(28,10);printf("the sno:");SearchBySno();break;
                                 case '2': wenttoxy(28,10);printf("the name:");SearchByName(); break;
                                 case '0': Main_Menu();  break;

			}
 
  }
按相应的数字键进入查询选项,查询的结果可以提示用户是否需要打印学生信息,还可以对该学生信息进行删除操作.
统计学生信息:
void Static()
{      char c;
    	system("cls");
    	wenttoxy(28,0);printf("****************************\n");
		wenttoxy(28,1);printf("*      Static Stu Data     *\n");
		wenttoxy(28,2);printf("****************************\n");
		wenttoxy(28,3);
         tongjiavg();
		 wenttoxy(28,7);printf("anykey to continue");getch();
        system("cls");
		wenttoxy(28,5);printf("1. top three of chinese       ");
       	wenttoxy(28,6);printf("2. top three of english       ");
		wenttoxy(28,7);printf("3. top three of physic        ");	
		wenttoxy(28,8);printf("4. top three of chemistry     ");
		wenttoxy(28,9);printf("5. top three of math          ");
		wenttoxy(28,10);printf("6.top three of allscore");
			
	while(1)
		{		c=getche();
           if(!('0'<=c && c<='6'))
           {   
			wenttoxy(5,18);printf("your puts is wrong");
		   }
			
		   
		   else 
			   break;
        }
       switch(c)
	   { 
	      case '1':system("cls");count(0);break;
              case '2':system("cls");count(1);break;
              case '3':system("cls");count(2);break;
	      case '4':system("cls");count(3);break;
	      case '5':system("cls");count(4);break;
              case '6':system("cls");Allscore();break;   
	      case '0':Main_Menu();break;	  
	   }


}

进入统计学生信息功能的界面后,直接打印出各个科目的平均分,之后按任意键查看各科的前三名和总分的前三名
退出功能:
void out()
{
  char c;
 if(save(counts)!=counts)/*********记录是否有没保存的********************/
 {
  printf("save(Y/y),exit(n/Y)");
  c=getche();
  
    if(c=='y'||c=='Y')/************保存后退出***************************************/
    { 
     save(counts);
     exit(0);
    }
    else 
     {
       if(c=='n'||c=='N')/*********************************退出************************/
       exit(0);
        else
      Main_Menu();
     }
        
  }
   else
  { 
   printf("will you want exit?");  
   do
   {
     c=getche();
     if(c=='y'||c=='Y'||c=='n'||c=='N')     
     break;
      else 
    {
      wenttoxy(5,18);printf("your puts is wrong!");
    }
   } 
   while(1);
    if(c=='y'||c=='Y')
      exit(0);
    else
     Main_Menu();

  }

}
记录没保存时提示是否需要保存Y或y,选择其一则表示保存,成功提示保存信息
如果选择n或N则没保存学生记录直接退出,再则其他键回到主菜单.
保存和读取相对路径和绝对路径都行,以 字符"\"作为分隔符.













 

⌨️ 快捷键说明

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