Ke Thua
// ke thua don
/*
Viết chương trình tính thể tích và diện tích bề mặt
của hình trụ có bán kính r và chiều cao h.
Biết rằng hình trụ là một loại hình tròn có bán kính r
được kéo dài với chiều cao h.
*/
#include<iostream>
#include<stdio.h>
using namespace std;
//Khai bao lop doi tuong hinh tron
class HinhTron
{
private:
float r;
public:
void nhap();
float tinhCV();
float tinhDT();
};
//Khai bao lop doi tuong hinh tru
class HinhTru:public HinhTron
{
private:
float h;
public:
void nhap();
float tinhDT();
float tinhTT();
};
//===chuong trinh chinh===
int main()
{
//Tao 1 doi tuong hinh tru
HinhTru ht;
cout<<"Chuong trinh tinh the tich va dien tich cua hinh tru";
cout<<"\n\nNhap kich thuoc hinh tru:\n";
ht.nhap();
printf("Dien tich hinh tru la: %0.1f",ht.tinhDT());
printf("\nThe tich hinh tru la: %0.1f",ht.tinhTT());
cout<<endl;
return 0;
}
//===dinh nghia ham===
//Ham thanh vien lop hinh tron
void HinhTron::nhap()
{
cout<<"Nhap vao ban kinh: ";
cin>>r;
}
float HinhTron::tinhCV()
{
return 2*3.14*r;
}
float HinhTron::tinhDT()
{
return 3.14*r*r;
}
//Ham thanh vien lop hinh tru
void HinhTru::nhap()
{
//Nhap ban kinh
HinhTron::nhap();
//Nhap chieu cao
cout<<"Nhap vao chieu cao: ";
cin>>h;
}
float HinhTru::tinhDT()
{
return 2*HinhTron::tinhDT() + HinhTron::tinhCV()*h;
}
float HinhTru::tinhTT()
{
return HinhTron::tinhDT()*h;
}
// ke thua boi
/*
Thời điểm là một loại ngày tháng và cũng là một loại
thời gian nhưng có thêm địa điểm. Ngày tháng có ngày,
tháng, năm. Thời gian có giờ và phút.
Nhập vào một thời điểm, đưa ra thời điểm đó ở dạng
Địa điểm, dd/mm/yy - h:mm. Ví dụ: Hà Nội, 30/09/19 – 14:27
Y/c viết hàm tạo không có đối số và có đối số cho tất cả
các lớp.
*/
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
//Khai bao doi tuong ngay thang
class NgayThang
{
private:
int ngay,thang,nam;
public:
NgayThang();
NgayThang(int ngay,int thang,int nam);
void nhap();
void hien();
};
//Khai bao doi tuong thoi gian
class ThoiGian
{
private:
int gio,phut;
public:
ThoiGian();
ThoiGian(int gio,int phut);
void nhap();
void hien();
};
//Khai bao doi tuong thoi diem
class ThoiDiem:public NgayThang,public ThoiGian
{
private:
char diaDiem[31];
public:
ThoiDiem();
ThoiDiem(int ngay,int thang,int nam,int gio,int phut,const char *diaDiem);
void nhap();
void hien();
};
//===chuong trinh chinh===
int main()
{
//Tao 1 doi tuong thoi diem
ThoiDiem td;
cout<<"Nhap vao 1 thoi diem:\n";
td.nhap();
cout<<"\nThoi diem da nhap la:\n";
td.hien();
cout<<endl;
return 0;
}
//===dinh nghia ham===
//Ham thanh vien lop ngay thang
NgayThang::NgayThang():ngay(0),thang(0),nam(0)
{
}
NgayThang::NgayThang(int ngay,int thang,int nam):ngay(ngay),thang(thang),nam(nam)
{
}
void NgayThang::nhap()
{
char kt;
cout<<" (dang dd/mm/yyyy): ";
cin>>ngay>>kt>>thang>>kt>>nam;
}
void NgayThang::hien()
{
printf("%02d/%02d/%d",ngay,thang,nam);
}
//Ham thanh vien lop thoi gian
ThoiGian::ThoiGian():gio(0),phut(0)
{
}
ThoiGian::ThoiGian(int gio,int phut):gio(gio),phut(phut)
{
}
void ThoiGian::nhap()
{
char kt;
cout<<" (dang h:mm): ";
cin>>gio>>kt>>phut;
}
void ThoiGian::hien()
{
printf("%d:%02d",gio,phut);
}
//Ham thanh vien lop thoi diem
ThoiDiem::ThoiDiem():NgayThang(),ThoiGian()
{
strcpy(diaDiem,"");
}
ThoiDiem::ThoiDiem(int ngay,int thang,int nam,int gio,int phut,const char *diaDiem):NgayThang(ngay,thang,nam),ThoiGian(gio,phut)
{
strcpy(this->diaDiem,diaDiem);
}
void ThoiDiem::nhap()
{
//Nhap dia diem
cout<<"Nhap vao dia diem: ";
fflush(stdin); cin.get(diaDiem,sizeof(diaDiem));
//Nhap ngay
cout<<"Nhap ngay";
NgayThang::nhap();
//Nhap gio
cout<<"Nhap thoi gian";
ThoiGian::nhap();
}
void ThoiDiem::hien()
{
cout<<diaDiem<<", ";
NgayThang::hien();
cout<<" - ";
ThoiGian::hien();
}
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
// Khai báo lớp
class NhanSu
{
private:
char hoTen[31];
char ngaySinh[11];
public:
void nhap();
void duara();
};
class NhanVien: public NhanSu
{
protected:
char maNV[10];
float hsLuong;
public:
void nhap();
void duara();
};
class CanBo: public NhanVien
{
private:
char chucVu[50];
float hsPhuCap;
public:
void nhap();
void duara();
float tinhLuong(); // Hàm tính lương
};
//=== Chương trình chính ===
int main()
{
int n;
cout <<"Nhap vao so luong can bo quan ly trong cong ty : ";
cin >>n;
CanBo *id = new CanBo[n];
cout<<"\nNhap thong tin nhan vien: \n";
for(int i = 0; i < n; i++)
{
cout<<"\n STT " << i + 1 << ":\n";
id[i].nhap();
}
cout<<"\n\nDanh sach thong tin da nhap la: \n";
for(int i = 0; i < n; i++)
{
id[i].duara();
cout<<"\n\n";
}
// Tìm cán bộ quản lý có lương cao nhất
float maxLuong = id[0].tinhLuong();
int indexMaxLuong = 0;
for(int i = 1; i < n; i++)
{
float luong = id[i].tinhLuong();
if(luong > maxLuong)
{
maxLuong = luong;
indexMaxLuong = i;
}
}
cout << "Can bo quan ly co luong cao nhat:\n";
id[indexMaxLuong].duara();
cout << "\nLuong: " << maxLuong << endl;
return 0;
}
//=== Định nghĩa hàm ===
void NhanSu::nhap()
{
cout << "Nhap ho ten: ";
scanf(" ");
cin.getline(hoTen, sizeof(hoTen));
cout << "Nhap ngay sinh (dd/mm/yyyy): ";
cin >> ngaySinh;
}
void NhanSu::duara()
{
cout << "\nHo ten: " << hoTen;
cout << "\nNgay sinh: " << ngaySinh;
}
void NhanVien::nhap()
{
cout << "Nhap ma nhan vien: ";
cin >> maNV;
NhanSu::nhap();
cout << "Nhap he so luong: ";
cin >> hsLuong;
}
void NhanVien::duara()
{
cout << "\nMa nhan vien: " << maNV;
NhanSu::duara();
cout << "\nHe so luong: " << hsLuong;
}
void CanBo::nhap()
{
cout << "\nNhap chuc vu: ";
scanf(" ");
cin.getline(chucVu, sizeof(chucVu));
NhanVien::nhap();
cout << "Nhap he so phu cap chuc vu: ";
cin >> hsPhuCap;
}
void CanBo::duara()
{
cout << "\nChuc vu: " << chucVu;
NhanVien::duara();
cout << "\nHe so phu cap chuc vu: " << hsPhuCap;
}
float CanBo::tinhLuong()
{
return (hsLuong + hsPhuCap) * 1800;
}
Last updated