📄 功能文档.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 + -