高分求两道c语言程序设计题!拜托了!

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:50:20
一、 试编写一个程序,建立一个学生成绩文件(30名学生),每名同学的信息包括学号、姓名和英语、数学、计算机三门课程的成绩。分别将所有同学的信息存放到顺序文件中,学生的数据信息通过键盘录入。
二、 打开上题所建立的顺序文件,从中读取同学的信息,并利用插入排序法按总成绩从大到小的顺序显示所有同学的学号、姓名和英语、数学、计算机和总分这6项内容。

一定要没有错误的!可以运行了一定追加分数!多谢多谢!

第一个
#include <stdio.h>

#define Size 30 // 学生人数

FILE *fout = fopen("Student.dat", "w"); //Student.dat为输出文件

struct Student
{
char num[ 20 ];
char name[ 20 ];
float escore, mscore, cscore;
};

void readData( Student *stu, int count )
{
printf("请输入第%d名同学的信息\n学号:", count);
scanf("%s", stu->num);
printf("姓名:");
scanf("%s", stu->name);
printf("英语、数学、计算机成绩:");
scanf("%f%f%f", &stu->escore, &stu->mscore, &stu->cscore);
}

void writeData( Student stu )
{
fprintf(fout, "%s %s ", stu.num, stu.name );
fprintf(fout, "%.2f %.2f %.2f\n", stu.escore, stu.mscore, stu.cscore);
}

int main( )
{
int i;
Student stu;
for ( i = 0; i < Size; i++ )
{
readData( &stu, i + 1 );