E viết class này chạy được nhưng bị lỗi gì đó, mn xem giúp ạ
@@
#include<iostream>
using namespace std;
class NGUOI
{
private:
char hoten[50];
int tuoi;
char cmt[20];
public:
NGUOI(char ho[]="",int t=0,char c[]="")
{
strcmp(hoten,ho);
tuoi=t;
strcmp(cmt,c);
}
~NGUOI(){}
void Nhap()
{
cout<<"\n Nhap ho va ten: ";cin.ignore(1);
cin.getline(hoten,50);
cout<<"\n Nhap so cmnd: ";cin.getline(cmt,20);
cout<<"\n Nhap tuoi: "; cin>>tuoi;
}
void Xuat()
{
cout<<"\n Ho va ten: ";cout<<hoten;
cout<<"\n Tuoi: ";cout<<tuoi;
cout<<"\n So cmnd: ";cout<<cmt;
}
int gettuoi()
{
return tuoi;
}
};
class HocVien : public NGUOI
{
private:
char nganh[50];
int somon;
public:
HocVien(char ho[]="",int t=0,char c[]="",char ng[]="",int m=0):NGUOI(ho,t,c)
{
strcmp(nganh,ng);
somon=m;
}
~HocVien(){}
friend istream & operator >>(istream &is,HocVien &p)
{
p.NGUOI::Nhap();
cout<<"\n Nhap chuyen nganh: ";is.getline(p.nganh,50);
cout<<"\n Nhap so mon hoc: ";is>>p.somon;
}
friend ostream & operator <<(ostream &is,HocVien p)
{
p.NGUOI::Xuat();
cout<<"\n Chuyen nganh: ";is<<p.nganh;
cout<<"\n So mon hoc: ";is<<p.somon;
return is;
}
int tinh()
{
if(gettuoi()<20)
return 1;
return 0;
}
int getmon()
{
return somon;
}
bool operator <(HocVien p)
{
return getmon()<p.getmon();
}
};
int main()
{
NGUOI *p;int n;HocVien *q;
cout<<"\n Nhap so luong nguoi: ";cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"\n Nhap nguoi thu "<<i;
p[i].Nhap();
}
cout<<"\n Danh sach vua nhap";
for(int i=1;i<=n;i++)
{
cout<<"\n Nguoi thu "<<i;
p[i].Xuat();
}
cout<<"\n nhap so luong hoc vien: ";cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"\n Nhap hoc vien thu "<<i;
cin>>q[i];
}
HocVien min=q[1];
for(int i=1;i<=n;i++)
if(q[i]<min)
min=q[i];
cout<<"\n Danh sach hoc vien co so mon nho nhat: ";
cout<<min;
}

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