Tải bản đầy đủ (.docx) (6 trang)

LẬP TRÌNH NÂNG CAO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (19.99 KB, 6 trang )

// de bai: cho lop chung minh thu: dua tren lop chung minh thu xay dung
// lop dan xuat sinh vien:
// bao gom ham va phuong thuc sau:
// lop cmt(so chung minh, ten trong chung minh, nam sinh
// lop sinh vien ( ten lop, diem trung binh);
// cac ham + phuong thuc:
// ham tao khong doi, ham tao co doi;
// ham huy, ham tao sao chep, phuong thuc toan tu gan;
// phuong thuc toan tu xuat, nhap
// phuong thuc lay dia chi cua lop chug minh thu
// phuong thuc lay nam sinh
// phuong thuc lay diem trung binh
//ung dung:
// cho lop k sinh vien viet chuong trinh in ra sinh vien co diem cao nhat va
// in ra sinh vien co tuoi lon nhat:
// bai lam:

#include<conio.h>
#include<iostream.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
class

cmt
{ char *scm, *hoten;
int nam;
public:
cmt();
cmt( char*scm1,char*hoten1,int nam1);



~cmt();
cmt & operator=( cmt &);
cmt(cmt &);
cmt*laydc();
int laynam();
friend ostream & operator<<( ostream & os, cmt & a);
friend istream & operator>>( istream & is, cmt & a);
};
cmt::cmt()
{ scm= new char[9];
hoten= new char[25];
nam=0;
};
cmt::cmt( char*scm1, char*hoten1, int nam1)
{ strcpy(scm,scm1);
strcpy(hoten,hoten1);
nam=nam1;};
cmt::~cmt()
{ delete scm;
delete hoten;
nam=0;};
cmt & cmt::operator=( cmt &a)
{ scm= new char[9];
hoten= new char[25];
strcpy(scm,a.scm);
strcpy(hoten,a.hoten);
nam=a.nam;
return a;



};
cmt::cmt( cmt & a)
{ (*this)=a;};
ostream & operator<<( ostream & os, cmt & a)
{ cout<<"\n so chung minh:"<cout<<"\n ho ten:"<cout<<"\n nam sinh:"<return os;
};
istream & operator>>( istream & is, cmt & a)
{ cout<<"\n nhap so chung minh thu:"; gets(a.scm);
cout<<" nhap ho ten:"; gets(a.hoten);
cout<<" nhap nam sinh:"; cin>>a.nam;
return is;
};
int cmt::laynam()
{ return nam;};
cmt*cmt::laydc()
{ return this;};
class

sv:public cmt
{ char *tenlop;
float dtb;
public:
sv();
sv( char*tenlop1, float dtb1,char*scm1,char*hoten1, int nam1);
~sv();
float laydiem();

friend ostream & operator<<(ostream & os, sv & a);


friend istream & operator>>( istream & is, sv & a);
sv( sv &);
sv & operator=( sv & a);
};
sv::sv()
{ tenlop= new char[15];
dtb=0;
};
sv::sv(
char*tenlop1,
nam1):cmt(scm1,hoten1,nam1)
{ strcpy(tenlop, tenlop1);
dtb=dtb1;
};
sv::~sv()
{ delete tenlop;
dtb=0;
};
float sv::laydiem()
{ return dtb;};
sv & sv::operator=( sv & a)
{ cmt * dta1, *dta2;
dta1=(*this).laydc();
dta2=a.laydc();
*dta1=*dta2;
tenlop= new char[15];
strcpy(tenlop,a.tenlop);

dtb= a.dtb;
return a;
};

float

dtb1,char*scm1,char*hoten1,

int


sv::sv( sv & a)
{ (*this)= a;};
ostream & operator<<( ostream & os, sv & a)
{ cout<<"\n ten lop:"<cmt *dta;
dta=a.laydc();
cout<<*dta;
cout<<"\n diem trung binh:"<return os;
};
istream & operator>>( istream & is, sv & a)
{ cout<<"\n ten lop:"; gets(a.tenlop);
cmt *dta;
dta= a.laydc();
cin>>*dta;
cout<<"diem trung binh:"; cin>>a.dtb;
return is;
};
void nhap( sv *a, int k)

{ for( int i=0; icin>>a[i];
};
sv maxtuoi( sv * a, int k)
{ sv t= a[0];
for( int i=0; iif( t.laynam()>a[i].laynam())
t=a[i];
return t;


};
sv maxdiem( sv *a, int k)
{ sv t= a[0];
for( int i=0; iif( t.laydiem()t=a[i];
return t;
};
void main()
{ clrscr();
sv * a; int n;
cout<<"\n nhap so sinh vien cua lop:"; cin>>n;
a= new sv[n];
cout<<"\n nhap sinh vien:";
nhap(a,n);
cout<<"\n sinh vien co tuoi cao nhat:"<cout<<"\n sinh vien co diem cao nhat:"<delete a;
getch();

};



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×