Em mới học C++ và có bài tập về tính kế thừa như này
Xây dựng lớp Người gồm tên, năm sinh.Lớp sinh viên kế thừa lớp ngừoi có thêm thuộc tính điêm trung bình.Nhập n số nguyên n và khởi tạo n sinh viên.In ra sinh viên được thưởng biết rằng sinh viên được thưởng nếu điểm trung bình > 9.
Code em như này nhưng mà phần xuất ra vẫn bị sai và em thấy code em khá linh tinh cần mọi người xem và chỉnh sửa giúp ạ.
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
class Nguoi {
protected:
char Ten[30];
int NamSinh;
int n;
};
class SinhVien : public Nguoi {
private:
float DiemTB;
public:
void Nhap() {
cout << "Nhap so sinh vien:";
cin >> n;
cout << "Nhap thong tin sinh vien" << endl;
for (int i = 0; i < n; i++) {
fflush(stdin);
cout << "Nhap ten:";
cin >> Ten;
cout << "Nhap nam sinh:";
cin >> NamSinh;
cout << "Nhap diem trung binh :";
cin >> DiemTB;
}
}
void Xuat() {
cout << "Xuat thong tin" << endl;
for (int i = 0; i < n; i++) {
cout << "Ten: " << Ten << endl;
cout << "Nam Sinh: " << NamSinh << endl;
cout << "Diem TB: " << DiemTB << endl;
}
}
float Thuong() {
if (DiemTB > 9) {
cout << "Sinh vien duoc thuong co ten: " << Ten << " va nam sinh: " << NamSinh;
}
else {
cout << "Khong co sinh vien nao duoc thuong";
}
return DiemTB;
}
};
int main() {
SinhVien sv;
sv.Nhap();
sv.Xuat();
sv.Thuong();
return 0;
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?