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

请编个程序调用函数将5个学生信息写入STUDENTDAT中;调用函数将5个学生的信息从文件STUDENTDAT中读出;调用函数计算出每个学生的平均分;调用函数按平均分从低... 请编个程序调用函数将5个学生信息写入STUDENTDAT中;调用函数将5个学生的信息从文件STUDENTDAT中读出;调用函数计算出每个学生的平均分;调用函数按平均分从低到高对学生排序;每位学生数据由以下结构体描述
struct student
{
long num//学号
char name [20] //姓名
float score【3】 三门课成绩
}
学生数据以学号 姓名 科目成绩为类型,单独创建一个类?
谢谢大家·· 我会追加分的,是好朋友问的,十分感谢!
是VC哈·····感激!!!!!!
展开
 我来答
ys_sunshine
2009-05-18 · TA获得超过377个赞
知道小有建树答主
回答量:289
采纳率:0%
帮助的人:327万
展开全部
存储学生信息的文件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;
ifstream fin("STUDENTDATA.txt");
for(i=0;i<5;i++)
{
fin >> s[i].num >> s[i].name;
for(j=0;j<3;j++) fin >> s[i].score[j];
}
Ave();
Sort();
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式