请高手指点有一道编程题·感激不尽

来源:百度知道 编辑:UC知道 时间:2024/06/25 15:45:24
请编个程序调用函数将5个学生信息写入STUDENTDAT中;调用函数将5个学生的信息从文件STUDENTDAT中读出;调用函数计算出每个学生的平均分;调用函数按平均分从低到高对学生排序;每位学生数据由以下结构体描述
struct student
{
long num//学号
char name [20] //姓名
float score【3】 三门课成绩
}
学生数据以学号 姓名 科目成绩为类型,单独创建一个类?
谢谢大家·· 我会追加分的,是好朋友问的,十分感谢!
是VC哈·····感激!!!!!!

存储学生信息的文件STUDENTDATA.txt的内容:
1 aaa 2 2 2
5 bbb 6 6 6
2 ccc 3 3 3
3 ddd 4 4 4
4 eee 5 5 5

源程序:
#include<fstream>
#include<iostream>
using namespace std;

struct Student{
long num;
char name[20];
float score[3];
float average; //存储平均分数
};

Student s[5]; //存储学生信息

void Ave()
{
int i;
for(i=0;i<5;i++)
{
s[i].average = (s[i].score[0]+s[i].score[1]+s[i].score[2])/3;
}
}
void Sort()
{//对平均分冒泡排序
int i,j;
Student temp;
for(i=0;i<5;i++)
for(j=0;j<5-i-1;j++)
{
if( s[j].average >s[j+1].average )
{
temp = s[j];
s[j] = s[j+1];
s[j+1] = temp;
}
}

for(i=0;i<5;i++)
cout << s[i].name << '\t' << s[i].average << endl;
}

int main()
{
int i,j;