100 lines
1.6 KiB
C++
100 lines
1.6 KiB
C++
#include <iostream>
|
|
#include <string>
|
|
#include <vector>
|
|
#include <fstream>
|
|
|
|
//Daylight
|
|
//Strangers kenya
|
|
|
|
class Student
|
|
{
|
|
std::string first_m = "First";
|
|
std::string last_m = "Last";
|
|
float avg_m = 15.8f;
|
|
|
|
public:
|
|
Student() {}
|
|
|
|
Student(const std::string& first, const std::string& last, const float& avg)
|
|
: first_m(first)
|
|
, last_m(last)
|
|
, avg_m(avg)
|
|
{}
|
|
|
|
void print() const
|
|
{
|
|
std::cout << first_m << " " << last_m << " " << avg_m << std::endl;
|
|
}
|
|
};
|
|
|
|
class Classroom
|
|
{
|
|
std::string name_m = "classroom";
|
|
std::vector<Student> students_m;
|
|
|
|
public:
|
|
Classroom() {}
|
|
|
|
Classroom(const std::string& name)
|
|
:name_m(name)
|
|
{}
|
|
|
|
void add_student(const Student& student)
|
|
{
|
|
students_m.push_back(student);
|
|
}
|
|
|
|
void load_file(const std::string& filename)
|
|
{
|
|
std::ifstream fin(filename);
|
|
|
|
std::string first, last;
|
|
float avg;
|
|
|
|
while (fin >> first)
|
|
{
|
|
fin >> last >> avg;
|
|
add_student(Student(first, last, avg));
|
|
}
|
|
}
|
|
|
|
void print()
|
|
{
|
|
std::cout << name_m << std::endl;
|
|
for (Student& student : students_m)
|
|
{
|
|
student.print();
|
|
}
|
|
std::cout << std::endl;
|
|
}
|
|
};
|
|
|
|
float avg(std::vector<float>& notes);
|
|
|
|
int main(int argc, char * argv[])
|
|
{
|
|
int x;
|
|
int y;
|
|
std::vector<float> bulletin_student1;
|
|
bulletin_student1.push_back(15.5f);
|
|
bulletin_student1.push_back(14.5f);
|
|
Student student_1("Liam", "Neeson", avg(bulletin_student1));
|
|
Classroom maths("Maths");
|
|
maths.add_student(student_1);
|
|
maths.print();
|
|
|
|
maths.load_file("Students.txt");
|
|
maths.print();
|
|
return 0;
|
|
|
|
}
|
|
|
|
float avg(std::vector<float>& notes)
|
|
{
|
|
float sum = 0.0f;
|
|
for (float& note : notes)
|
|
{
|
|
sum += note;
|
|
}
|
|
return sum / notes.size();
|
|
} |