30/09/2018, 16:33
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<<"
MSHS: ";
cin>>MSHS;
fflush(stdin);
cout<<"
Nhap ten: ";
getline(cin,HoTen);
cout<<"
Diem toan: ";
cin>>DiemToan;
cout<<"
Diem hoa: ";
cin>>DiemHoa;
cout<<"
Diem li: ";
cin>>DiemLi;
}
void HocSinh::XuatThongTin()
{
cout<<"
MSHS: "<<MSHS;
cout<<"
Ten: "<<HoTen;
cout<<"
Diem Toan: "<<DiemToan;
cout<<"
Diem Hoa: "<<DiemHoa;
cout<<"
Diem 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<<"
Nhap 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<<"
---------------------------------------";
list[i].NhapThongTin();
}
}
void DanhSachHocSinh::XuatDanhSach()
{
for(int i=1;i<=SoLuong;i++)
{
cout<<"
---------------------------------------";
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<<"
---------------------------------------";
cout<<"
HS co diem TB cao nhat: ";
a.TimMaxDiem().XuatThongTin();
cout<<"
Diem TB: "<<a.TimMaxDiem().DiemTB();
getch();
}
Bài liên quan
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.
Em hiểu rồi. Thank a