我正在为课程制作一个程序,要求我阅读具有成绩和名称的文本文件。我使用字符串变量作为名称,并且我已经将我的代码用于文本文件中的前两行但是每个人的成绩不均匀且它有点投掷关于我应该做什么。我尝试了一些不同的'而#39;循环,但到目前为止,'为'循环给了我最准确的结果,但仍然不是我想要的。
这是我到目前为止所拥有的:
#include "stdafx.h"
#include"windows.h"
#include"iostream"
#include"fstream"
#include"iomanip"
#include"string"
#include"math.h"
#include"conio.h"
#include"time.h"
#include"cstdio"
using namespace std;
string name, score2, score3, score4, score5, score6;
char score1;
double numcount;
int main()
{
cout << "GPA\n\n";
ifstream get;
get.open("GPAS.txt");
while (!get.eof())
{
get >> name;
cout << name;
get >> name;
cout << " " << name << endl;
for (numcount = 0; numcount < 7; numcount ++)
{
get >> score1;
cout << score1 << "\t";
}
}
get.close();
system("pause");
return 0;
}
文本文件只包含此
John Doe A B A C B A *
Mary Jones B A A C *
Henry Ford C C C C C C *
Betsy Ross A A A B B *
Jack Sparrow B B B *
Elizabeth Swann A A *
编辑:显然&#39; eof&#39;非常不满意;但是,在课堂上我们已经学会了如何使用它,所以我们自然而然地应该将它合并到代码中。此外,问题已被回答没有回答我的问题。循环工作正常,它是循环的内部,并没有正确格式化出来。此外,阅读直到&#39; *&#39;我以前是这样做的,但是它的工作效果不如使用&#39; for&#39;循环。