1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LẬP TRÌNH NÂNG CAO

6 53 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 14,12 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

#include<iostream.h>

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

class CMT

{ char* cmt,*ten;

int nam;

public:

CMT();

CMT( char*cmt1, char* ten1, int nam1); CMT& operator=( CMT &);

~ CMT();

CMT( CMT & );

void nhap();

void xuat();

int lnam();

CMT* dc();

};

CMT::CMT()

{ cmt=NULL;

ten=NULL;

nam=0;

};

CMT::CMT( char* cmt1, char* ten1, int nam1) { cmt= new char[11];

strcpy( cmt,cmt1);

ten= new char[25];

Trang 2

strcpy( ten, ten1);

nam=nam1;

};

CMT&CMT::operator=( CMT & a)

{ cmt = new char[9];

cmt=a.cmt;

ten = new char[25];

ten= a.ten;

nam= a.nam;

return a;

};

CMT::~CMT()

{ delete cmt, delete ten;

nam=0;

};

void CMT::nhap()

{ cout<<"\n nhap so chung minh thu:"; gets( cmt);

cout<<"\n nhap ten:";gets(ten);

cout <<"\n nhap nam sinh:"; cin>>nam; };

void CMT::xuat()

{ cout<<"\n so chung minh:"<<cmt; cout<<"\ ten sinh vien:"<<ten;

cout<<"\n nam sinh:"<<nam;

};

int CMT::lnam()

{ return nam;};

Trang 3

CMT *CMT::dc()

{ return this;};

class SV:public CMT

{ float dtb; char* tenlop;

public:

SV();

SV( char* cmt1, char*ten1, int nam1, float dtb1, char* tenlop1);

SV& operator=( SV &);

~SV();

void xuat();

void nhap();

SV( SV &);

float ldtb();

};

SV::SV():CMT()

{tenlop= new char[25];

tenlop= NULL;

dtb=0;

};

SV::SV( char* cmt1, char*ten1, int nam1, float dtb1, char* tenlop1):CMT(cmt1,ten1,nam1)

{ dtb=dtb1;

tenlop= new char[25];

tenlop= tenlop1;

};

SV&SV::operator=( SV & th) { CMT *dta1,*dta2;

dta1= *this.dc(); dta2= th.dc();

*dta1=*dta2;

Trang 4

dtb= th.dtb;

tenlop= new char[25];

strcpy( tenlop,th.tenlop);

return th; };

SV::~SV()

{ delete tenlop;

dtb=0;

};

SV:: SV(SV& th)

{ * this= th;};

void SV::xuat()

{cout<<"\n xuat doi tuong chung minh thu:"; CMT::xuat();

cout<<"\n ten lop:"<<tenlop;

cout<<"\n diem trung binh:"<<dtb;

};

void SV::nhap()

{ cout<<"\n nhap doi tuong chung minh thu:"; CMT::nhap();

cout<<"\n ten lop:"; gets( tenlop);

cout<<"\n diem trung binh:"; cin>>dtb; };

float SV::ldtb()

{ return dtb;

};

void nhap( SV a[], int k);

SV max( SV a[], int k);

Trang 5

SV maxns( SV a[], int k);

void nhap( SV a[], int k)

{ for( int i=0; i<k; i++)

{ cout<<"\n nhap sinh vien thu "<<i+1<<"la";

a[i].nhap();

};

};

SV max( SV a[], int k)

{ SV t= a[0];

for( int i=1; i<k; i++)

if( t.ldtb()<a[i].ldtb())

t= a[i];

return t;

};

SV maxns( SV a[], int k)

{ SV t= a[0];

for( int i=1; i<k; i++)

if( t.lnam()>a[i].lnam())

t= a[i];

return t;

};

void main()

{ clrscr();

SV a[100]; int n;

cout<<"\n nhap so cac sinh vien:"; cin>>n;

cout<<"\n nhap du lieu cua cac sinh vien:";

nhap(a,n);

cout<<"\n sinh vien co diem cao nhat:"; max(a,n).xuat();

Trang 6

cout<<"\n sinh vien co tuoi lon nhat:"; maxns(a,n).xuat(); getch();

}

Ngày đăng: 26/02/2019, 19:52

w