Chào cả nhà! Mình gặp khó khăn trong việc nhập dữ liệu cho một bài toán.
Đề bài: Viết chương trình quản lý điểm của sinh viên
Một sinh viên có nhiều môn học.
Mình đã tạo
class MonHoc
{
private:
string TenMon;
public:
void nhap(){
cin >> TenMon;
}
};
class SinhVien
{
private:
string TenSV;
MonHoc m[20];
int SLMH; //So luong mon hoc
public:
void nhap(/*MonHoc m[]*/){
cin >> TenSV;
cin >> SLMH;
MonHoc m[20]; // Khai bao o day?
for (i = 0; i < SLMH; i++)
{
m[i].nhap();
}
}
};
void nhapDSSV(SinhVien a[], int n /*, MonHoc m[]*/)
{
int i;
for (i = 0; i < n; i++)
{
a[i].nhap(/*m*/);
}
}
int main()
{
int n = 2;
SinhVien a[4];
// MonHoc m[20];
nhapDSSV(a, n /*,m[]*/);
}
Vấn đề là không biết cho mảng MonHoc vào đâu, danh sách tham số hay là trong nội hàm. Bởi vì nếu đưa vào tham số, khi xuất kết quả sẽ hiện tên môn của tất cả các sinh viên là giống nhau tuy số lượng có khác; Còn nếu đưa vào nội hàm, kết quả tệ hơn: Xuất ra giá trị rác.
Rất mong mọi người giúp đỡ.
Xin cảm ơn!
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?