修复了不能在15格以外放置的bug。
This commit is contained in:
97
OOP/03/Exercise02.cpp
Normal file
97
OOP/03/Exercise02.cpp
Normal file
@@ -0,0 +1,97 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user