CHƯƠNG 1: GIỚI THIỆU1.1.Giới thiệu đề bàiXây dựng chức năng tìm kiếm và sắp xếp trên các cấu trúc quản lý danh mục các môn học gồm các thông tin: Mã môn học MaMH; Tên môn học TenMH; Số t
GIỚI THIỆU
Giới thiệu đề bài
Xây dựng chức năng tìm kiếm và sắp xếp trên các cấu trúc quản lý danh mục các môn học gồm các thông tin: Mã môn học (MaMH); Tên môn học (TenMH); Số tín chỉ (SoTc); Số giờ lý thuyết (GioLT); Số giờ thực hành (GioTH); Số giờ tự học
Cấu trúc
(mô tả cấu trúc được yêu cầu, chọn CTDL để thể hiện, khai báo/định nghĩa cấu trúc)
Thông tin cần quản lý gồm:
- MaMH: Mã môn học ,gồm một chuỗi ký tự số có chiều dài 7 ký tự.
- TenMH: Tên môn học ,gồm một chuỗi ký tự chữ và số có chiều dài 50 ký tự.
- SoTC: Số tín chỉ ,ghi nhận số tín chỉ đạt được sau mỗi học kì của môn học.
- GioLT: Giờ lý thuyết, ghi nhận số giờ học lý thuyết của môn học.
- GioTH: Giờ thực hành, ghi nhận số giờ thực hành của môn học.
- Tuhoc: Tự học, ghi nhận số giờ cần phải tự học của môn học.
Cấu trúc dữ liệu hỗ trợ quản lý thông tin môn học:
- MaMH: Chuỗi gồm 7 ký tự số.
- TenMH: Chuỗi gồm 50 ký tự chữ và số.
- SoTC: Số nguyên không âm (SoTC >=0).
- GioLT: Số nguyên không âm.
- GioTH: Số nguyên không âm.
- Tuhoc: Số nguyên không âm. Đinh nghĩa cấu trúc môn học: struct Monhoc { char MaMH[7]; char TenMH[50]; int SoTC; int GioLT; int GioTH; int TuHoc;
Dữ liệu mẫu
STT MaMH TenMH SoTC GioLT GioTH Tuhoc
5 10070 Cấu trúc dữ liệu và giải thuật 3 30 30 60
Các chức năng
Các chức năng trên mảng cấu trúc:
- Nhập danh sách môn học - Xuất danh sách môn học - Tìm thông tin môn học theo mã môn học (dùng Linear Search và Binary Search)
- Sắp xếp danh sách theo MaMH (dùng Shaker Sort)- Sắp xếp danh sách theo MaMH (dùng Selection Sort)- Sắp xếp danh sách theo TenMH (dùng Interchange Sort)
- Sắp xếp danh sách theo SoTC (dùng Bubble Sort) - Sắp xếp danh sách theo GioLT (dùng Insertion Sort) - Sắp xếp danh sách theo MaMH (dùng Quick Sort) - Sắp xếp danh sách theo MaMH (dùng Merge Sort)
Các chức năng trên danh sách liên kết:
- Nhập danh sách môn học - Xuất danh sách môn học - Tìm thông tin môn học theo mã môn học (dùng Linear Search và Binary Search)
- Tìm thông tin môn học theo tên môn học (dùng Linear Search và Binary Search)
- Sắp xếp danh sách theo MaMH (dùng Shaker Sort) - Sắp xếp danh sách theo MaMH (dùng Selection Sort) - Sắp xếp danh sách theo TenMH (dùng Interchange Sort) - Sắp xếp danh sách theo SoTC (dùng Bubble Sort)
- Sắp xếp danh sách theo GioLT (dùng Insertion Sort)- Sắp xếp danh sách theo MaMH (dùng Quick Sort)- Sắp xếp danh sách theo MaMH (dùng Merge Sort)
CHỨC NĂNG TRÊN DANH SÁCH SỬ DỤNG ARRAY
Nhập danh sách môn học
Để nhập danh sách môn học, cần xây dựng hai chương trình con gồm:
- void Nhap_o(Monhoc& Mh): hỗ trợ nhập thông tin một môn học gồm MaMH, TenMH, SoTC, GioLT, GioTH, Tuhoc.
- void Nhapmang_Mh(Monhoc arr[], int n): hỗ trợ nhập danh sách môn học.
//Nhập cấu trúc void Nhap_o(Monhoc& Mh) { cin.ignore(); cout Mh.GioLT; cout > Mh.GioTH; cout > Mh.TuHoc;
//Nhập mảng cấu trúc Môn Học void Nhapmang_MH(Monhoc arr[], int n) { for (int i = 0; i < n; i++) { cout