C++ 读取文件, 取出最大值.高分问问~

来源:百度知道 编辑:UC知道 时间:2024/06/01 15:58:27
要求是:
读取一个.txt 文件, 这文件里面有学生名字(拼音(英文字母)) 然后就是学生的分数.
程序要求, 读取这个.txt文件, 然后cout 最高分的那位同学的名字以及分数.

这是我写的, 我的loop是我在测试着读取全部名字, 在以修改:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main () {
ifstream fin;
string name[50];
float mark[50];
int n;

fin.open("Marks.txt");
if (!fin){
cout<<"could not open file marks.txt...bye!";
exit(1);
}

fin>>name[50];
fin>>mark[50];
while(name<=0){
for (int i= 0; i
n++;
cout<<name<<" got "<<mark<<endl;
fin>>name[];
fin>>mark[];
}

cout<<name<<" got the top mark of "<<mark<<endl;
system("PAUSE&qu

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main () {
ifstream fin;
string name[50];
float mark[50];
int n;

fin.open("Marks.txt");
if (!fin){
cout<<"could not open file marks.txt...bye!";
exit(1);
}

n = 0;
while((n<50) && (fin>>name[n]) && (fin>>mark[n++]))
{
cout<<name[n-1]<<" got "<<mark[n-1]<<endl;
}

int maxmark = 0, maxi = -1;
for(int i=0; i<n; ++i)
{
if(mark[i] > maxmark)
{
maxmark = mark[i];
maxi = i;
}
}
cout<<name[maxi]<<" got the max mark:"<<mark[maxi]<<endl;

return 0;
}