/*消息处理*/
void dealWith(SLNode **head)
{
char ch;
char StudentNum[5]; /*用来接收学号的输入*/
char Subject[9]; /*用来接收学科的输入
本程序中正确的学科有:
Subject1,Subject2,Subject3,
Subject4,Subject5*/
DataType data; /*用来接收结点的数据域*/
int SubScore[5]; /*用来接收五门学科的成绩*/
int score; /*用来对单科成绩的输入时的接收*/
while(1) /*死循环*/
{
clrscr(); /*清屏*/
/*打印主菜单*/
printf("Welcome to Student Managing System!\n\n\n");
printf("1---> find StudentData.\n");
printf("2---> change StudentData.\n");
printf("3---> add StudentData.\n");
printf("4---> delete StudentData.\n");
printf("5---> list all the StudentData.\n");
printf("6---> exit Student Managing System.\n\n");
/*输入数据*/
scanf("%c",&ch);
/*当输入的是1时*/
if(ch=='1')
{
while(1)
{
clrscr(); /*清屏*/
printf("Please input the Student Number:\n"); /*打印提示信息*/
scanf("%s",StudentNum); /*输入学生的学号*/
find(*head,StudentNum); /*调用find()函数来查找学生信息*/
getch(); /*暂停*/
clrscr(); /*清屏*/
/*打印提示信息*/
printf("1---> continue to find another student.\n");
printf("0---> back to Main Menu\n");
LOOP:scanf("%c",&ch); /*设置goto语句入口,并输入信息*/
if(ch=='1') /*当输入的是1时*/
{
continue; /*回到子循环的开始位置*/
}
else if(ch=='0') /*当输入的是0时*/
{
break; /*退出子循环*/
}
else /*其它*/
{
goto LOOP; /*回到LOOP入口点*/
}
}
}
/*当输入的是2时*/
else if(ch=='2')
{
while(1)
{
clrscr(); /*清屏*/
printf("Please input the Student Number:\n"); /*打印提示信息*/
scanf("%s",StudentNum); /*输入学生的学号*/
printf("\nPlease input a Subject:\n"); /*打印提示信息*/
scanf("%s",Subject); /*输入学科名*/
printf("\nPlease input a Score of the Subject:\n"); /*打印提示信息*/
scanf("%d",&score); /*输入学科的成绩*/
change(head,StudentNum,Subject,score); /*调用change()函数来修改学生信息*/
getch(); /*暂停*/
clrscr(); /*清屏*/
/*打印提示信息*/
printf("1---> continue to change another StudentData.\n");
printf("0---> back to Main Menu\n");
LOOP1:scanf("%c",&ch); /*设置goto语句入口,并输入信息*/
if(ch=='1') /*当输入的是1时*/
{
continue; /*回到子循环的开始位置*/
}
else if(ch=='0') /*当输入的是0时*/
{
break; /*退出子循环*/
}
else /*其它*/
{
goto LOOP1; /*回到LOOP1入口点*/
}
}
}
/*当输入的是3时*/
else if(ch=='3')
{
while(1)/*死循环*/
{
clrscr(); /*清屏*/
printf("Please input the Student Number:\n"); /*打印提示信息*/ scanf("%s",StudentNum); /*输入学生的学号*/ printf("Please input a Score of \"Subject1\":\n"); /*打印提示信息*/
scanf("%d",&SubScore[0]); /*输入学科"Subject1"的成绩*/
printf("Please input a Score of \"Subject2\":\n"); /*打印提示信息*/
scanf("%d",&SubScore[1]); /*输入学科"Subject2"的成绩*/
printf("Please input a Score of \"Subject3\":\n"); /*打印提示信息*/
scanf("%d",&SubScore[2]); /*输入学科"Subject3"的成绩*/
printf("Please input a Score of \"Subject4\":\n"); /*打印提示信息*/
scanf("%d",&SubScore[3]); /*输入学科"Subject4"的成绩*/
printf("Please input a Score of \"Subject5\":\n"); /*打印提示信息*/
scanf("%d",&SubScore[4]); /*输入学科"Subject1"的成绩*/
add(head,StudentNum,SubScore); /*调用add()函数来添加学生记录*/
getch(); /*暂停*/
clrscr(); /*清屏*/
/*打印提示信息*/
printf("1---> continue to add another StudentData.\n");
printf("0---> back to Main Menu\n");
LOOP2:scanf("%c",&ch); /*设置goto语句入口,并输入信息*/
if(ch=='1') /*当输入的是1时*/
{
continue; /*回到子循环的开始位置*/
}
else if(ch=='0') /*当输入的是0时*/
{
break; /*退出子循环*/
}
else /*其它*/
{
goto LOOP2; /*回到LOOP2入口点*/
}
}
}
/*当输入的是4时*/
else if(ch=='4')
{
while(1) /*死循环*/
{
clrscr(); /*清屏*/
printf("Please input the Student Number:\n"); /*打印提示信息*/
scanf("%s",StudentNum); /*输入学生的学号*/
delete(head,StudentNum); /*调用delete()函数来删除一个学生记录*/
clrscr(); /*清屏*/
/*打印提示信息*/
printf("1---> continue to add delete Student.\n");
printf("0---> back to Main Menu\n");
LOOP3:scanf("%c",&ch); /*设置goto语句入口,并输入信息*/
if(ch=='1') /*当输入的是1时*/
{
continue; /*回到子循环的开始位置*/
}
else if(ch=='0') /*当输入的是0时*/
{
break; /*退出子循环*/
}
else /*其它*/
{
goto LOOP3; /*回到LOOP3入口点*/
}
}
}
/*当输入的是5时*/
else if(ch=='5')
{
clrscr(); /*清屏*/
list(*head); /*调用list()函数显示全部学生信息*/
getch(); /*暂停*/
continue; /*返回到主循环的开始位置*/
}
/*当输入的是6时*/
else if(ch=='6')
{
return ; /*退出本函数,回到主函数*/
}
/*其它数据*/
else
{
continue; /*返回到主循环的开始位置*/
}
}
}