C语言问题 高手帮忙啊 急

来源:百度知道 编辑:UC知道 时间:2024/05/20 14:31:30
学生成绩管理系统
设计内容:编程序通过菜单的方式实现以下功能:
插入:按学号顺序插入新的学生记录。
删除:按学号删除指定的学生记录。
查询:按姓名、学号查询并显示查询结果。
排序:按姓名、学号、各单科成绩、总成绩排序。
输出:输出所有学生记录到显示或文件。
设计要求:
(1)设计一个结构体类型,其中包括学生的学号、姓名、性别、三门课成绩和总分。
(2)动态申请存储空间,并用链表把所有学生链在一起。
(3)用链表操作的方法实现上述功能。
(4)系统的各个功能模块都用函数的形式来实现;
(5)可以将学生成绩信息保存在文件中。
(6)可以将学生信息从文件中读取出来。
编了N久都编不出啊。谁帮了我我追分啊
谁能给个流程图也好啊。。大哥大姐门``````求你们啦```!!!!!!!!!!!!!!!!!!!!!

#include <string.h>
#include <conio.h>
struct student //定义存放学生数据的结构体类型
{
char name[10]; //学生名字,最长9字节
float score[8]; //八门课程的得分
float total; //总分
};
void main()
{
struct student person[3]; //声明学生个数为3
struct student temp; //临时数据,交换两个学生数据作中间量

int i,j;
float t;
strcpy(person[0].name,"Lihong");//姓名赋值
strcpy(person[1].name,"Wangjian");
strcpy(person[2].name,"Zhaoming");
for (i=0;i<3;i++) //输入三个学生数据
{
printf("Please input scores of %s:",person[i].name); //提示文字
person[i].total=0; //总分清零
for (j=0;j<8;j++) //输入一个学生的得分
{
scanf("%f",&t); //输入一个学生一门课程得分
person[i].total+=t; //将得分加入总分
person[i].score[j]=t; //将得分保存到学生纪录里
}
}

for (i=0;i<2;i++) //选择法排血
for (j=i+1;j<3;j++)
if (person[i].total<person[j].total)
{temp=person[i]; perso