Debug không có lỗi nhưng chương trình chạy không được

Ai coi giúp em với. Em bí lắm rồi

#include<iostream>
#include<conio.h>
#include<string>
using namespace std;
class HocSinh
{
private:
	int MSHS;
	string HoTen;
	float DiemToan,DiemLi,DiemHoa;
public:
	void NhapThongTin();
	void XuatThongTin();
	float DiemTB();


};
void HocSinh::NhapThongTin()
{
	cout<<"\nMSHS: ";
	cin>>MSHS;
	fflush(stdin);
    cout<<"\nNhap ten: ";
	getline(cin,HoTen);
	cout<<"\nDiem toan: ";
	cin>>DiemToan;
	cout<<"\nDiem hoa: ";
	cin>>DiemHoa;
	cout<<"\nDiem li: ";
	cin>>DiemLi;
}

void HocSinh::XuatThongTin()
{
	cout<<"\nMSHS: "<<MSHS;
	cout<<"\nTen: "<<HoTen;
	cout<<"\nDiem Toan: "<<DiemToan;
	cout<<"\nDiem Hoa: "<<DiemHoa;
	cout<<"\nDiem Li: "<<DiemLi;
}
float HocSinh::DiemTB()
{
	return (DiemToan+DiemHoa+DiemLi)/3;
}
class DanhSachHocSinh
{
private:
	int SoLuong;
	HocSinh list[]; //Khởi tạo danh sách HS

public:
	void NhapSoLuong()
	{
		cout<<"\nNhap so luong SV: ";
		cin>>SoLuong;
	}
	void NhapDanhSach();
	void XuatDanhSach();
	HocSinh TimMaxDiem();
	HocSinh TimHS(HocSinh i);
};
void DanhSachHocSinh::NhapDanhSach()
{
	for(int i=1;i<=SoLuong;i++)
	{
		fflush(stdin);
		cout<<"\n---------------------------------------";
		list[i].NhapThongTin();
	}

}
void DanhSachHocSinh::XuatDanhSach()
{
	for(int i=1;i<=SoLuong;i++)
	{
		cout<<"\n---------------------------------------";
		list[i].XuatThongTin();
		list[i].DiemTB();
		
	}
}
HocSinh DanhSachHocSinh::TimMaxDiem()
{
	HocSinh Max=list[1]; //Gĩa sử học sinh đầu tiên có điểm tb cao nhất.
	for(int i=1;i<=SoLuong;i++)
	{
		if(list[i].DiemTB() > Max.DiemTB() )
		{
			Max=list[i];
		}
	}
	return Max; //Trả về học sinh có điểm tb cao nhất.
}

void main()
{
	
	DanhSachHocSinh a;
	a.NhapSoLuong();
	a.NhapDanhSach();
	a.XuatDanhSach();
	cout<<"\n---------------------------------------";
	cout<<"\nHS co diem TB cao nhat: ";
	a.TimMaxDiem().XuatThongTin();
	cout<<"\nDiem TB: "<<a.TimMaxDiem().DiemTB();
	getch();
}
HocSinh list[]; //Khởi tạo danh sách HS

Trong cái khai báo trên bạn cần cho biết tối đa list có thể chứa được bao nhiêu phần tử, trừ khi bạn dùng cấp phát bộ nhớ động.

1 Like

Em hiểu rồi. Thank a

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