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

LẬP TRÌNH NÂNG CAO

6 75 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,39 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

// 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);

Trang 2

~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;

Trang 3

};

cmt::cmt( cmt & a)

{ (*this)=a;};

ostream & operator<<( ostream & os, cmt & a)

{ cout<<"\n so chung minh:"<<a.scm;

cout<<"\n ho ten:"<<a.hoten;

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

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);

Trang 4

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, float dtb1,char*scm1,char*hoten1, int 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;

};

Trang 5

sv::sv( sv & a)

{ (*this)= a;};

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

{ cout<<"\n ten lop:"<<a.tenlop; cmt *dta;

dta=a.laydc();

cout<<*dta;

cout<<"\n diem trung binh:"<<a.dtb; 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; i<k; i++)

cin>>a[i];

};

sv maxtuoi( sv * a, int k)

{ sv t= a[0];

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

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

t=a[i];

return t;

Trang 6

};

sv maxdiem( sv *a, int k)

{ sv t= a[0];

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

if( t.laydiem()<a[i].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:"<<maxtuoi(a,n); cout<<"\n sinh vien co diem cao nhat:"<<maxtuoi(a,n); delete a;

getch();

};

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

TỪ KHÓA LIÊN QUAN

w