📄 studentmanagersystem.c
字号:
//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 + -