我想爲我的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