65,211
社区成员
发帖
与我相关
我的任务
分享
// 1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <set>
#include <fstream>
#include <functional>
using namespace std;
struct student
{
char name[20];
char id[10];
float score;
};
class less_than:public binary_function<student,student,bool>
{
private:
public:
bool operator()(const student& lhs,const student& rhs) const
{
return lhs.score<rhs.score;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
ifstream infile("c:\\input.txt");
if(!infile)
{
cout<<"Open file is failure!"<<endl;
exit(-1);
}
set<student,less_than> sample;
student test;
while(!infile.fail())
{
infile>>test.name>>test.id>>test.score;
sample.insert(test);
}
set<student,less_than>::iterator it=sample.begin();
for(;it!=sample.end();++it)
{
if((*it).score<60)
cout<<(*it).name<<" "<<(*it).id<<" "<<(*it).score<<endl;
}
return 0;
}
上面的没按要求,稍微改动了一下
#include <iostream>
#include <set>
#include <fstream>
#include <functional>
using namespace std;
struct student
{
char name[20];
char id[10];
float score;
};
class less_than:public binary_function<student,student,bool>
{
private:
public:
bool operator()(const student& lhs,const student& rhs) const
{
return lhs.score<rhs.score;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
ifstream infile("c:\\input.txt");
if(!infile)
{
cout<<"Open file is failure!"<<endl;
exit(-1);
}
set<student,less_than> sample;
student test;
while(!infile.fail())
{
infile>>test.name>>test.id>>test.score;
sample.insert(test);
}
set<student,less_than>::iterator it=sample.begin();
ofstream outfile("c:\\outfile.txt");
for(;it!=sample.end();++it)
{
outfile<<(*it).name<<" "<<(*it).id<<" "<<(*it).score<<endl;
if((*it).score>60)
cout<<(*it).name<<" "<<(*it).id<<" "<<(*it).score<<endl;
}
return 0;
}
随意写了一个,楼主参考一下:
#include <iostream>
#include <set>
#include <fstream>
#include <functional>
using namespace std;
struct student
{
char name[20];
char id[10];
float score;
};
class less_than:public binary_function<student,student,bool>
{
private:
public:
bool operator()(const student& lhs,const student& rhs) const
{
return lhs.score<rhs.score;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
ifstream infile("c:\\input.txt");
if(!infile)
{
cout<<"Open file is failure!"<<endl;
exit(-1);
}
set<student,less_than> sample;
student test;
while(!infile.fail())
{
infile>>test.name>>test.id>>test.score;
sample.insert(test);
}
set<student,less_than>::iterator it=sample.begin();
for(;it!=sample.end();++it)
cout<<(*it).name<<" "<<(*it).id<<" "<<(*it).score<<endl;
return 0;
}