不知道哪出错了?

sylcc_ 2008-10-06 07:56:41
用结构实现对学生的管理
#include<iostream>
#include<algorithm>
#include<list>
#include<string>
struct Student
{
int sid;
std::string name;
double score;
int rank;
};
viod printInfo( const Student & s)
{std::cout<<s.sid<<"\t"<<s.name<<"\t"<<s.score<<"\t"s.rank<<std::endl;
}
bool compByScore(const Student & a,const Student & b)
{return a.score>b.score;
}
void put(int &i,char*s="",double &d)
{std::cout<<"请分别输入学号,姓名,成绩"<<std::endl;
std::cin>>i>>s>>d;
id=i;
strcpy(name,s);
score=d;
}
int main()
{
int N=5;
Student s[];
std::list<Student>ls;
for (i=0;i!=n;++i)
ls.push_back(s[i]);
ls.sort( compByScore);
typedef std::list<Student>::itrator StudIter;
for ( StudIter iter=ls.begin();iter!=ls.end();++iter)
iter->rank=std::distance(ls.begin(),iter)+1;
std::cout<<"after sort:"<<std::endl;
std::for_each(ls.begin(),ls.end(),printInfo);
std::pair<StudIter,StudIter> pr;
for(StudIter iter=ls.begin();iter!=ls.end();++iter)
{
pr=std::equal_range(iter,ls.end(),*iter,compByScore);
for(StudIter iter2=pr.first;iter2!=pr.second;++iter2)
iter2->rank=iter->rank;
}
std::cout<<"after reRank:"<<std::endl;
std::for_each (ls.begin,ls.end(),printInfo);

}
...全文
112 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧