我想为我的C++类做这个作业,并且我一直在为它工作几个小时,而且没有取得任何进展。我在我的问题上做了一堆搜索,没有任何真正的工作。我来这里希望解决我的问题。C++从文件读入类对象数组打印25行
我有一个名为“hw2data.txt”的文件,有25行信息,我现在试图简单地将它输出到控制台,但是我的作业说我需要使用Student数组来完成它(我的班级名称)保存25个对象在主函数中,程序从数据文件中读取并调用Student类的成员函数来设置成员变量并输出结果。
我希望能够在进入函数并将其添加到结果中之前完全输出文件中的文本。
TXT文件
10001 Alice Brown 89 85 92 99 90
10004 Bob Bush 85 76 83 79 83
10010 Carl Capra 65 57 73 68 76
10012 David Lieberman 76 68 79 81 58
10034 John Menchin 100 89 95 93 88
10056 George Smith 86 78 90 80 95
10062 Elaine Sanders 85 79 90 80 95
10078 Jack Cunningham 72 78 82 97 84
10090 Susie Brown 68 85 80 84 83
10099 Marvella Garcia 86 92 88 97 98
10120 Tony Peterson 85 84 83 90 76
10129 John Jones 75 75 80 84 80
10131 Mary Evans 60 72 89 86 65
10146 Nancy Drew 78 80 75 90 85
10152 Lola Zapeta 89 81 98 89 97
10155 Duckey Donald 82 60 73 78 55
10163 Goof Goofy 89 78 75 89 56
10168 Brave Balto 100 98 93 89 92
10178 Snow Smitn 93 76 54 83 80
10184 Alice Wonderful 86 79 87 78 67
10192 Samina Akthar 85 62 78 45 60
10207 Simba Green 50 45 35 60 20
10211 Donald Egger 76 80 83 68 81
10216 Brown Deer 86 87 89 79 75
10245 Johny Jackson 96 85 91 83 79
学生类文件
#include <iostream>
#include <fstream>
#include <string>
#include "Student.h"
using namespace std;
void Student::setID(int tID)
{
ID = tID;
}
void Student::setFName(string f)
{
firstName = f;
}
void Student::setLName(string l)
{
lastName = l;
}
void Student::setScores()
{
}
int Student::getID()
{
return ID;
}
string Student::getFName()
{
return firstName;
}
string Student::getLName()
{
return lastName;
}
int Student::getWeightedTotal()
{
return 0;
}
int Student::getGrade()
{
return 0;
}
void Student::printStudent()
{
}
Student::Student()
{
ID = 0;
firstName = "";
lastName = "";
}
Student::Student(int tID, string f, string l)
{
setID(tID);
setFName(f);
setLName(l);
}
Main.cpp的文件中获取此的
#include <iostream>
#include <fstream>
#include <string>
#include "Student.h"
using namespace std;
int main() {
Student students;
Student sa[25];
ifstream inFile;
inFile.open("hw2data.txt");
system("pause");
return 0;
}
我试过多种方式来工作,主要错误我得到的是 “binary”>>':找不到操作符找到类型为“过载”的右侧操作数ED-功能”(或没有可接受的转换)” 请帮
这里有一个快速阅读,可以帮助:输入/输出操作人员用C重载++] (https://www.tutorialspoint.com/cplusplus/input_output_operators_overloading.htm) –
你声称你试过*多种方式来获得这个工作*但你在这里展示的是只打开一个文件的代码。你有什么特别的尝试?我们可以帮忙,但我们不能为你做这个功课。 – mpiatek
我已经尝试了多种方式,我并没有要求它为我完成,我在这些堆栈线程中看到了相同的响应。我曾尝试使用诸如“inFile >> students.getID;”之类的代码来显示文件的第一部分,并尝试使用getline,但我并不十分熟悉它。我在找的是有人解释使用类对象数组将此文件打印到控制台所需的内容。我从来没有做过,我希望有人通过解释或展示一个例子来帮助我理解。 – saviro