#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
typedef struct L
{
char Name[30];
long long Num;
float English;
float C_language;
struct L *Next;
}*Node;
void Menu(); //功能菜单
void Search(Node p); //查找
void Name_Search(Node p); //按姓名查找
void Num_Search(Node p); //按学号查找
void Initialization(Node p); //初始化表
void Add(Node p); // 添加
void Insert(Node p); //插入
void Delet(Node p); //删除
void Show(Node p); //显示
void Sort(Node p); //排序
void C_Sort(Node p); //c成绩排序
void En_Sort(Node p); //英语成绩排序
void Num_Sort(Node p); // 学号排序
void All_Sort(Node p); //总成绩排序
void Most(Node p); //最大值
void DelName(Node p); //按姓名删除
void DelNum(Node p); //按学号删除
void Modify(Node p); //修改
void Num_Modify(Node p); //按学号修改
void Name_Modify(Node p); //按姓名修改
int main()
{
int n;
Node p=new struct L;
system("color 1a");
Initialization(p);
Menu();
printf("\t选择:\n");
printf("\t");
while(scanf("%d",&n)!=EOF)
{
switch(n)
{
case 1:
Add(p);fflush(stdin);break;
case 2:
Show(p);fflush(stdin);break;
case 3:
Insert(p);fflush(stdin);break;
case 4:
Sort(p);fflush(stdin);break;
case 5:
Delet(p);fflush(stdin);break;
case 6:
Search(p);fflush(stdin);break;
case 7:
Modify(p);fflush(stdin);break;
case 8:fflush(stdin);
return 0;
default :fflush(stdin);
printf("\t没有该选项:\n");
}
getch();
printf("\t");
system("cls");
Menu();
printf("\t选择:\n");
printf("\t");
}
return 0;
}
void Menu()
{
printf("\n");
printf("\t 成绩管理系统 \3\n");
printf(" --------------------------------------\n");
printf("\t|\t1:添加\t |\t2:输出\t |\n");
printf(" --------------------------------------\n");
printf("\t|\t3:插入\t |\t4:排序\t |\n");
printf(" --------------------------------------\n");
printf("\t|\t5:删除\t |\t6:查询\t |\n");
printf(" --------------------------------------\n");
printf("\t|\t7:修改\t |\t8:退出\t |\n");
printf(" --------------------------------------\n");
printf("\n");
printf("\t提示:每一步操作结束后请按1-2次回车\n");
printf("\t");
printf("\n");
}
void Initialization(Node p)
{
p->Next=NULL;
p->Num=0;
}
void Add(Node p)
{
p->Num++;
while(p->Next!=NULL)
{
p=p->Next;
}
Node q=(Node)malloc(sizeof(struct L));
printf("\t输入姓名:\n");
printf("\t");
scanf("%s",&q->Name);
printf("\t输入学号:\n");
printf("\t");
scanf("%lld",&q->Num);
printf("\t