请高手指点有一道编程题·感激不尽
请编个程序调用函数将5个学生信息写入STUDENTDAT中;调用函数将5个学生的信息从文件STUDENTDAT中读出;调用函数计算出每个学生的平均分;调用函数按平均分从低...
请编个程序调用函数将5个学生信息写入STUDENTDAT中;调用函数将5个学生的信息从文件STUDENTDAT中读出;调用函数计算出每个学生的平均分;调用函数按平均分从低到高对学生排序;每位学生数据由以下结构体描述
struct student
{
long num//学号
char name [20] //姓名
float score【3】 三门课成绩
}
学生数据以学号 姓名 科目成绩为类型,单独创建一个类?
谢谢大家·· 我会追加分的,是好朋友问的,十分感谢!
是VC哈·····感激!!!!!! 展开
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;
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;
}
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询