Professional Documents
Culture Documents
Nháp 1
Nháp 1
h>
#include <string.h>
#include <conio.h>
typedef struct {
int day;
int month;
int year;
} Date;
typedef struct {
int id;
char name[50];
Date dob;
float salary;
} Employee;
Employee employees[100]; // Tao mang chua thong tin cua cac nhan vien
// Viet ham hien thi thong tin cua nhieu nhan vien
int main() {
int n;
scanf("%d", &n);
if (i > 0 && employees[i].id <= employees[i - 1].id) // Kiem tra ma nhan vien co hop le khong
printf("Ma nhan vien khong hop le. Vui long nhap lai.\n");
showEmployee(&employees[i], i + 1);
heapSort(employees, n);
printf("*********************************************Danh Sach Nhan Vien Sap Xep Theo
Luong Giam Dan*********************************************\n");
showEmployee(&employees[i], i + 1); // Gọi hàm hien thi danh sach nhan vien sau khi da duoc sap
xep theo luong giam dan
findEmployeesWithSameBirthday(employees, n);
findTop5HighestPaidEmployees(employees, n);
return 0;
// Yeu cau 1:
printf("Nhap thong tin cho nhan vien %d\n", index); // In yeu cau nhap thong tin nhan vien co thu tu
index
scanf("%d", &a->id); // Nhap ma nhan vien va luu vao dia chi bien (a -> id)
if (index > 1) {
while (a->id <= employees[index - 2].id) // Kiem tra ma nhan vien co lon hon ma nhan vien truoc do
printf("Ma nhan vien khong hop le. Vui long nhap lai: ");
scanf("%d", &a->id); // Neu khong hop le, yeu cau nhap lai
size_t len = strlen(a->name); // Tinh do dai cua ten nhan vien va ket qua duoc luu trong bien ‘len’
scanf("%d", &a->dob.day);
do {
scanf("%d", &a->dob.month);
scanf("%d", &a->dob.year);
scanf("%f", &a->salary);
// Yeu cau 2:
void showEmployee(Employee *a, int index) {
// Yeu cau 3: Sap xep danh sach nhan vien co luong giam dan bang giai thuat Heap Sort
int smallest = i;
int left = 2 * i + 1;
int right = 2 * i + 2;
smallest = left;
smallest = right;
if (smallest != i) {
arr[i] = arr[smallest];
arr[smallest] = temp;
heapify(arr, n, smallest);
}
}
heapify(arr, n, i);
arr[0] = arr[i];
arr[i] = temp;
heapify(arr, i, 0);
// Yeu cau 4: In ra man hinh nhung nhan vien co cung ngay sinh nhat
showEmployee(&arr[i], i + 1);
showEmployee(&arr[j], j + 1);
}
// Yeu cau 5: Hien thi ra man hinh top 5 nhan vien co luong cao nha
if (n <= 5) {
showEmployee(&arr[i], i + 1);
} else {
showEmployee(&arr[i], i + 1);