gpt4 book ai didi

c++ - 使用 .eof 时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-04 15:44:21 26 4
gpt4 key购买 nike

我现在正在为一个类(class)编写一个程序,但我无法使 inf.eof 工作。数据文件是:

Julie 100 100 100 100 100
Sam 90 0 100 95 90
Trudy 85 77 100 87 81
Will 85 81 0 89 72
George 81 83 100 79 55
Hannah 87 90 100 99 95
Cathy 93 96 95 82 65
Hal 65 71 0 75 88
Xena 100 100 100 100 0

代码是:

#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <assert.h>
using namespace std;
double score;

double getave(int a,int b)
{
double average;
average = 1.0 * (a + b)/2;
return average;
}

void getclassave()
{

}

double getgrade(double score)
{
double grade;
if(score >= 90)
grade = 'A';
else if(score >=80)
grade = 'B';
else if(score >= 70)
grade = 'C';
else if(score >= 60)
grade = 'D';
else
grade = 'F';
return grade;
}

void printtitles()
{

}



void main()
{
ifstream inf;
inf.open("input.data");
ofstream outf;
outf.open("data.out");
outf.setf(ios::fixed);
outf.precision(2);
double name, qu1, qu2, prg1, prg2, fnl;
while(!inf.eof())
{
inf >> name >> qu1 >> qu2 >> prg1 >> prg2 >> fnl;
cout << name << endl;
}
system("pause");
}

我现在只处理 void main(),因为我需要能够读入文件才能完成其余工作。我希望“呜呜声(!inf.eof())”循环直到它读取最后一行数据,然后通过在输出文件的新行上打印所有名称来显示它有效。但现在它会导致无限循环,在我的输出文件中输出无限行“-92559631349317830000000000000000000000000000000000000000000000.00”。我在这里做错了什么?

最佳答案

这应该有效:-

while(inf >> name >> qu1 >> qu2 >> prg1 >> prg2 >> fnl)
{

cout << name << endl;
}

关于c++ - 使用 .eof 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com