97 lines
2.1 KiB
C++
97 lines
2.1 KiB
C++
#include <iostream>
|
|
|
|
class Student {
|
|
private:
|
|
std::string name;
|
|
int studentNumber;
|
|
int grade;
|
|
|
|
public:
|
|
Student();
|
|
Student(std::string& newName, int newNumber, int newGrade);
|
|
Student(Student &otherStu);
|
|
~Student();
|
|
|
|
std::string getName();
|
|
int getGrade();
|
|
int getStudentNumber();
|
|
void displayInfo();
|
|
};
|
|
|
|
Student::Student() {
|
|
name = "Undefined";
|
|
studentNumber = 0;
|
|
grade = 0;
|
|
}
|
|
|
|
Student::Student(std::string& newName, int newNumber, int newGrade) {
|
|
name = newName;
|
|
this->studentNumber = newNumber;
|
|
this->grade = newGrade;
|
|
}
|
|
|
|
Student::Student(Student &otherStu) {
|
|
name = otherStu.getName();
|
|
studentNumber = otherStu.studentNumber;
|
|
grade = otherStu.grade;
|
|
}
|
|
|
|
Student::~Student() {
|
|
}
|
|
|
|
std::string Student::getName() {
|
|
return this->name;
|
|
}
|
|
|
|
int Student::getGrade() {
|
|
return this->grade;
|
|
}
|
|
|
|
int Student::getStudentNumber() {
|
|
return this->studentNumber;
|
|
}
|
|
|
|
void Student::displayInfo() {
|
|
std::cout << "Name: " << this->name << std::endl
|
|
<< "Student Number: " << this->studentNumber << std::endl
|
|
<< "Grade: " << this->grade << std::endl;
|
|
}
|
|
|
|
int max(Student* students[]) {
|
|
int max_studnum = 0;
|
|
int max = 0;
|
|
for (int i = 0; i < 10; i++) {
|
|
if (students[i]->getGrade() > max) {
|
|
max = students[i]->getGrade();
|
|
max_studnum = students[i]->getStudentNumber();
|
|
}
|
|
}
|
|
return max_studnum;
|
|
}
|
|
|
|
int main() {
|
|
Student* students[10];
|
|
for (int i = 0; i < 10; i++) {
|
|
std::string name;
|
|
int studnum;
|
|
int grade;
|
|
std::cout << "Name: ";
|
|
std::cin >> name;
|
|
std::cout << "Student No.: ";
|
|
std::cin >> studnum;
|
|
std::cout << "Grade: ";
|
|
std::cin >> grade;
|
|
students[i] = new Student(name, studnum, grade);
|
|
}
|
|
int maxStudNum = max(students);
|
|
Student maxStud;
|
|
for (int i = 0; i < 10; i++) {
|
|
if (students[i]->getStudentNumber() == maxStudNum) {
|
|
maxStud = *(students[i]);
|
|
break;
|
|
}
|
|
}
|
|
std::cout << "The max is: " << std::endl;
|
|
maxStud.displayInfo();
|
|
return 0;
|
|
} |