1 .题目 《学生成绩管理系统》的设计与实现 2 .功能 (1)每一条记录包括一个学生的学号、姓名、3门成绩、平均成绩。 (2)输入功能:可以一次完成无数条记录的输入。 (3)显示功能:完成全部学生记录的显示。 (4)查找功能:完成按姓名查找学生记录,并显示。 (5)排序功能:按学生平均成绩进行排序。 (6)插入功能:按平均成绩高低插入一条学生记录。 (7)保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:\score。 (8)读取功能:将保存在文件中的学生记录读取出来。 (9)有一个清晰美观界面来调用各个功能 3 .要求 (1)整个系统均用C语言实现; (2)利用指针、链表来实现学生成绩的数据结构设计; (3)系统具有输入、显示、查询、删除、排序、插入,保存、读取基本功能; (4)系统的各个功能模块都用函数的形式来实现; (5)可以将学生成绩信息保存在文件中。 (6)可以将学生信息从文件中读取出来。 4 .源程序 #include #include #include #define LEN sizeof(struct scorenode) #define DEBUG #include struct scorenode {int number;/*学号*/ char name[10];/*姓名*/ float yuwen;/*语文成绩*/ float yingyu;/*英语成绩*/ float shuxue;/*数学成绩 */ struct scorenode *next; }; typedef struct scorenode score; int n,k;/*n,k 为全局变量,本程序中的函数均可以使用它*/ /*==============================================================================================*/ score *creat2311(void) /*函数creat2311,功能:创建链表,此函数带回一个指向链表头的指针*/ { score*head; score *p1,*p2,*p3,*max; int i,j; float fen; char t[10]; n=0; p1=p2=p3=(score *)malloc(LEN);head=p3; /*开辟一个新单元*/ printf("请输入学生资料,输 0 退出!\n"); repeat1: printf("请输入学生学号(学号应大于 0):");/*输入学号,学号应大于 0*/ scanf("%d",&p1->number); while(p1->number<0) {getchar(); printf("输入错误,请重新输入学生学号:"); scanf("%d",&p1->number);} /*输入学号为字符或小于 0 时,程序报错,提示重新输入学号*/ if(p1->number==0) goto end;/*当输入的学号为 0 时,转到末尾,结束创建链表*/ else { p3=head; if(n>0) {for(i=0;inumber!=p3->nu...