1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
# include <iostream>
# include <fstream>
# include <sstream>
# include <string>
# include <vector>
struct Student
{
std::string m_ID;
std::string m_firstName;
std::string m_lastName;
double m_score1;
double m_score2;
double m_score3;
Student(const std::string& ID, const std::string& firstName, const std::string& lastName,
const double score1, const double score2, const double score3):
m_ID(ID), m_firstName(firstName), m_lastName(lastName),
m_score1(score1), m_score2(score2), m_score3(score3){}
};
std::ostream& operator << (std::ostream& os, const Student & s)
{
os << s.m_ID << " " << s.m_firstName << " " << s.m_lastName <<
" " << s.m_score1 << " " << s.m_score2 << " " << s.m_score3 << "\n";
return os;
}
int main()
{
std::ifstream inFile{"F:\\test.txt"};
std::vector<Student> students{};
if(inFile)
{
std::string line;
while (getline(inFile, line))
{
std::istringstream stream{line};
std::string ID, firstName, lastName;
double score1{}, score2{}, score3{};
if(stream)
{
stream >> ID >> firstName >> lastName >> score1 >> score2 >> score3;
if(inFile)
{
students.emplace_back(Student(ID, firstName, lastName, score1, score2, score3));
}
}
}
}
for (const auto& elem : students)std::cout << elem ;
}
|