【发布时间】:2014-05-21 15:25:51
【问题描述】:
char fname[20];
char lname[20];
int grade[10];
double avg=0.00;
fstream infile("C:\\Users\\Hady Zn\\Desktop\\hady.txt", ios::in);
fstream outfile("C:\\Users\\Hady Zn\\Desktop\\hady1.txt", ios::out);
while(infile>>fname>>lname)
{
outfile<<fname<<" "<<lname<<" ";
for(int i=0; i<10; i++)
grade[i]=0;
for(int i=0; i<10; i++)
{
infile>>grade[i];
if(grade[i]>=0 && grade[i]<=100)
{
outfile<<grade[i]<<" ";
avg+=grade[i];
}
}
outfile<<avg/10.00<<endl;
avg=0.00;
}
所以问题是我需要从文本文件中读取姓氏(空格)名字(空格)然后 10 个测验等级(每个等级之间的空格)并将相同的数据写入输出文件,平均值为一行的每一端有 10 个测验。 我面临的问题是,如果我在一行上的测验少于 10 个,它将不会显示剩余的行。(我希望它仍然给我给出的平均成绩,例如,如果给我 7 3 年级将是零) 我尝试解决它,但它就是行不通。有什么想法可以解决这个问题吗?请帮忙。谢谢
【问题讨论】:
标签: c++ text-files fstream ifstream lines