Thứ Hai, 20 tháng 6, 2016

Lập trình hướng đỗi tượng với C++ (Giải đề thi ngày 21/06/2016)

//Họ và Tên: Trần Văn Linh
//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 nhận xét:

Đăng nhận xét