//Msv:581597
//Lớp: K58QLTT
//Đề 29 Bài 1 : Nhập vào n nhân sự trong đó có cả giảng viên và sinh viên, giảng viên có tên (không có họ đệm) và số bài báo ,sinh viên có điểm TBC . Đưa ra thông tin của các nhân sự kèm theo đánh giá: giảng viên là giỏi nếu có số bài báo >=10, sinh viên đánh giá là giỏi nếu có điểm TBC>=8.0 . Yêu cầu trong chương trình cài đặt đa hình động cho hàm dữ liệu và hàm đưa ra thông tin.
#include<iostream>
#include<stdio.h>
using
namespace std;
//khai bao
lop
class nhansu
{
private:
char ten[10];
public:
virtual void nhap();
virtual void hien();
};
class
giangvien: public nhansu
{
private:
int sbb;
public:
void nhap();
void hien();
};
class
sinhvien: public nhansu
{
private:
float diemtb;
public:
void nhap();
void hien();
};
//khai bao
ham
nhansu*
nhapDL();
void
hienDL(nhansu *P);
//chuong
trinh chinh
int main()
{
nhansu *ds[100];
int n=0,i;
char tl1,tl2;
do
{
ds[n++]=nhapDL();
cout<<"Co muon
nhap nua khong (c/k):";
cin>>tl2;
}while(tl2=='c'||tl2=='C');
for(i=0;i<n;i++)
{
hienDL(ds[i]);
cout<<endl;
}
return 0;
}
//==Dinh
nghia ham
//ham thanh
vien lop nhan su
void
nhansu::nhap()
{
cout<<"Nhap ten:"<<endl;
cin>>ten;
}
//------------
void
nhansu::hien()
{
cout<<"\nTen:
"<<ten<<endl;
}
//------------
//ham thanh
vien lop giangvien
void
giangvien::nhap()
{
nhansu::nhap();
cout<<"Nhap so bai
bao:"<<endl;
cin>>sbb;
}
//------------
void
giangvien::hien()
{
nhansu::hien();
cout<<"So bai bao:
"<<sbb<<endl;
if(sbb>=10)
cout<<"Day la
giang vien gioi.!"<<endl;
}
//------------
//ham thanh
vien lop sinhvien
void
sinhvien::nhap()
{
nhansu::nhap();
cout<<"Nhap diem trung
binh:";
cin>>diemtb;
}
//------------
void
sinhvien::hien()
{
nhansu::hien();
cout<<"Diem trung binh:
"<<diemtb<<endl;
if(diemtb>=8.0)
cout<<"Day la sinh
vien gioi.!"<<endl;
}
//------------
nhansu*
nhapDL()
{
nhansu *P;
char tl;
cout<<"Chon de nhap nhan
su:1-giangvien,2sinhvien:";
cin>>tl;
if(tl=='1')
P=new giangvien;
else
P=new sinhvien;
P->nhap();
return P;
}
void
hienDL(nhansu *P)
{
P->hien();
}
0 comments:
Post a Comment