[说明]
某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前30%的学生。
[C++代码]
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Student
private:
string sNO; //学号
int credit; //分数
public:
Student(string a,int b) sNO=a; credit=b;
Student ( )
int getCredit ( );
void out ( );
;
(1) ::getCredit ( )
return credit;
(2) ::out ( )
cout << "SNO: " << sNO << ", Credit=" << credit << end1;
class SortStudent
public:
void sort(Student *s, int n);
SortStudent ( )
;
void SortStudent::sort(Student *s, int n)
for (int i=0; i<n-1; i++)
for (int j=i+1; J<n; j++)
if(s[i]. (3) < s[j]. (4) )
Student temp=s[i]; s[i]=s[j]; s[j]=temp;
[说明]
某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前30%的学生。
[C++代码]
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Student
private:
string sNO; //学号
int credit; //分数
public:
Student(string a,int b) sNO=a; credit=b;
Student ( )
int getCredit ( );
void out ( );
;
(1) ::getCredit ( )
return credit;
(2) ::out ( )
cout << "SNO: " << sNO << ", Credit=" << credit << end1;
class SortStudent
public:
void sort(Student *s, int n);
SortStudent ( )
;
void SortStudent::sort(Student *s, int n)
for (int i=0; i<n-1; i++)
for (int j=i+1; J<n; j++)
if(s[i]. (3) < s[j]. (4) )
Student temp=s[i]; s[i]=s[j]; s[j]=temp;
我来回答: