30/09/2018, 18:59

giúp đỡ về lấy hàm mã học kỳ trong bài lớp dẫn xuất

#include"iostream"
#include"string.h"
using namespace std;
class mh{
private:
char mamon[10],tenmon[30];
int sotc;
public:
mh()
{
strcpy(mamon," “);
strcpy(tenmon,” “);
sotc=0;
}
void nhap()
{
cout<<” nhap ma mon: “;
cin.ignore(1);
cin.get(mamon,10);
cout<<” nhap ten mon: “;
cin.ignore(1);
cin.get(tenmon,30);
cout<<” nhap so tin chi: “;
cin>>sotc;
}
void xuat()
{
cout<<” ma mon: “<<mamon;
cout<<” ten mon: “<<tenmon;
cout<<” so tc: "<<sotc;
}
int gettc()
{
return sotc;
}
};
class qlmh
{
private:
int n;
char maky[10];
mh *a;
public:

	void nhap()
	{
		cout<<"
 nhap ma ky: ";
		cin.ignore(1);
		cin.get(maky,10);
		cout<<"
 nhap tong mon hoc cua ky: ";
		cin>>n;
		a=new mh[n+1];
		int i;
		for(i=1;i<=n;i++)
		{
			a[i].nhap();
		}
	}
	int tongtc()
	{
		int tong=0;
		for(int i=1;i<=n;i++)
		{
			tong+=a[i].gettc();
		}
		return tong;
		
	}
	void xuat()
	{
		cout<<"
ma ky"<<maky;
		cout<<"
 tong so mon: "<<n;
		for(int i=1;i<=n;i++)
		   a[i].xuat();
	}

		char getmaky()                // ham lay ten hoc ky 
	{
		return maky;
	}

};
int main()
{
int n;
qlmh *a;
cout<<" nhap so ky hoc: “;
cin>>n;
a=new qlmh[n+1];
for(int i=1;i<=n;i++)
{
a[i].nhap();
}
for(int i=1;i<=n;i++)
{
cout<<” tong so tc cua ky “<<i<<” la :"<<a[i].tongtc();

}
int vt;
int max=a[1].tongtc();
for(int i=1;i<=n;i++)
{
	if(max<a[i].tongtc())
	{
	   vt=i;
	   max=a[i].tongtc();	
	}
}
cout<<"
 ky hoc nhieu tin chi nhat la ky: "<<a[vt].getmaky()<<"so tc la: "<<max;     //ko lay dc

}
lúc in ra màn hình thì nó lại ko hiện ra mã học kỳ, ko biết em viết hàm lấy tên mã học kỳ đúng chưa( char getmakyy() ) mn giúp em với

Bài liên quan
0