Bài tập lớn cấu trúc dữ liệu giải thuật it05

18 148 7
Bài tập lớn cấu trúc dữ liệu giải thuật it05

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hiện nay trong khi đời sống con người nâng cao, nhu cầu du lịch ngày càng phát triển thì nhu cầu tìm những khách sạn có phòng nghỉ chất lượng và dịch vụ tốt để nghỉ ngơi thư giãn ngày càng phổ biến. Mặt khác hiện nay trong các khách sạn, các cán bộ làm công tác quản lý thông tin của khách sạn phải quản lý một lượng lớn thông tin về cán bộ công nhân viên, tình trạng phòng… Việc này mất rất nhiều thời gian và công sức của con người nên việc ứng dụng tin học vào công tác quản lý khách sạn theo yêu cầu của người dùng ngày càng trở nên hết sức cần thiết, quan trọng. Chính vì vậy có vậy có phần mềm quản lý khách sạn là vô cùng quan trọng. II. XÁC ĐỊNH CTDL BIỂU DIỄN BÀI TOÁN Quản lý phòng khách sạn: mã phòng, tên phòng, … III. XÁC ĐỊNH CÁC THUẬT TOÁN – CÁC CHỨC NĂNG Tổ chức lưu trữ bài toán bằng : Danh sách liên kết đơn. Các thuật toán • Phương pháp Đổi chỗ trực tiếp (Interchange sort) • Phương pháp Nổi bọt (Bubble sort) • Phương pháp Chèn trực tiếp (Insertion sort) • Phương pháp Chọn trực tiếp (Selection sort) Các chức năng chính như: Tạo list Tạo struct Các hàm xử lý dữ liệu (thêm, sửa, xoá, tìm kiếm…) Các hàm xử lý khác Chương trình khi chạy ban đầu xuất xuất hiện danh sách lựa chọn chức năng: 1. Nhập số lượng phòng 2. Nhập dữ liệu 3. In danh sách phòng 4. Sắp xếp phòng theo giá giảm dần 5. Xếp loại phòng 6. Phòng có giá thấp nhất 7. Tìm kiếm phòng theo tên phòng 8. Phòng có giá cao nhất 9. Thoát chương trình

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI TRUNG TÂM ĐÀO TẠO ELEARNING TÊN SINH VIÊN: BÀI TOÁN QUẢN LÝ TH PHỊNG KHÁCH SẠN BÁO CÁO BÀI TẬP LỚN MƠN: CẤU TRÚC DỮ LIỆU CHỦ ĐỀ 07: Viết chương trình quản lý đối tượng để thực cho “Bài tốn quản lý th phịng khách sạn” I Nội dung: * Tổ chức lưu trữ toán 01 cấu trúc liệu học: Danh sách liên kết đơn, Danh sách liên kết kép, Ngăn xếp, Hàng đợi, Cây Đồ thị, … * Chương trình phải quản lý 02 đối tượng (gợi ý tham khảo: Phòng, Hố đơn th phịng, Khách hàng, Nhân viên khách sạn, …) (Sinh viên tự xác định thông tin cần quản lý đối tượng cho phù hợp) * Chương trình có đủ tối thiểu chức năng: - Nhập – In danh sách đối tượng; Đọc lưu file: điểm - Thêm, sửa, xoá đối tượng: 1.5 điểm - Tìm kiếm đối tượng: 0.5 điểm (Tối thiểu yêu cầu tìm kiếm) - Sắp xếp đối tượng: điểm (Tối thiểu yêu cầu xếp) - Các yêu cầu tìm phần tử lớn nhất, nhỏ nhất: điểm (Tối thiểu yêu cầu) - Các yêu cầu tính tổng, trung bình, đếm: điểm (Tối thiểu yêu cầu) - Các yêu cầu thống kê theo điều kiện: điểm (Tối thiểu yêu cầu) => Chương trình gọi chức năng: điểm Lưu ý: Khuyến khích tổ chức chương trình dạng menu II Yêu cầu chung báo cáo chương trình *Tồn chương trình file báo cáo BTL lưu thư mục với tên theo nguyên tắc sau: Nguyên tắc: CTDL-BTL-- Ví dụ: CTDL -BTL-01NguyenVanHung *Cấu trúc báo cáo: Trang bìa: Tên đề tài, tên nhóm (gồm họ tên thành viên nhóm), tên lớp Mục lục Giới thiệu đề tài Giới thiệu thành phần chương trình: Cấu trúc đối tượng quản lý, Các thuật toán sử dụng chương trình Giới thiệu chức chương trình Kết chạy chương trình Kết luận, hướng phát triển Tài liệu tham khảo I XÁC ĐỊNH BÀI TOÁN Hiện đời sống người nâng cao, nhu cầu du lịch ngày phát triển nhu cầu tìm khách sạn có phịng nghỉ chất lượng dịch vụ tốt để nghỉ ngơi thư giãn ngày phổ biến Mặt khác khách sạn, cán làm công tác quản lý thông tin khách sạn phải quản lý lượng lớn thông tin cán cơng nhân viên, tình trạng phịng… Việc nhiều thời gian công sức người nên việc ứng dụng tin học vào công tác quản lý khách sạn theo yêu cầu người dùng ngày trở nên cần thiết, quan trọng Chính có có phần mềm quản lý khách sạn vô quan trọng II XÁC ĐỊNH CTDL BIỂU DIỄN BÀI TỐN - Quản lý phịng khách sạn: mã phòng, tên phòng, … III XÁC ĐỊNH CÁC THUẬT TOÁN – CÁC CHỨC NĂNG Tổ chức lưu trữ toán : Danh sách liên kết đơn Các thuật toán  Phương pháp Đổi chỗ trực tiếp (Interchange sort)  Phương pháp Nổi bọt (Bubble sort)  Phương pháp Chèn trực tiếp (Insertion sort)  Phương pháp Chọn trực tiếp (Selection sort) Các chức như: - Tạo list - Tạo struct - Các hàm xử lý liệu (thêm, sửa, xố, tìm kiếm…) - Các hàm xử lý khác Chương trình chạy ban đầu xuất xuất danh sách lựa chọn chức năng: Nhập số lượng phòng Nhập liệu In danh sách phòng Sắp xếp phòng theo giá giảm dần Xếp loại phịng Phịng có giá thấp Tìm kiếm phịng theo tên phịng Phịng có giá cao Thốt chương trình IV LẬP TRÌNH – CÀI ĐẶT Tiến hành cài đặt tập, Liệt kê cấu trúc chương trình tổng quát đưa số code xử lý - Tiến hành code #include #include #include #include struct ThuePHONG { char ten[30]; float sogiuong; float gia; }; typedef ThuePHONG TP; void nhap(TP& TP); void nhapN(TP a[], int n); void xuat(TP TP); void xuatN(TP a[], int n); void sapxep(TP a[], int n); void xeploai(TP a); void xeploaiN(TP a[], int n); int xoaTheoID(TP a[], int n); void TimKiemTP(TP a[], int n); void DiemTBLonNhat(TP a[], int n); void DiemTBNhoNhat(TP a[], int n); int main() { int key; char fileName[] = "DSTP.txt"; int n; bool daNhap = false; { printf("\nNhap so luong phong: "); scanf_s("%d", &n); } while (n (int)a[j].gia) { MIN = a[j].gia; minPos = j; } } printf("\nPhong co gia thap nhat la %s, voi gia %0.2f", a[minPos].ten, a[minPos].gia); } else { printf("\nNhap DS Phong truoc!!!!"); } printf("\nBam phim bat ky de tiep tuc!"); _getch(); break; case 6: if (daNhap) { TimKiemTP(a, n); } else { printf("\nNhap DS Phong truoc!!!!"); } printf("\nBam phim bat ky de tiep tuc!"); _getch(); break; case 7: { if (daNhap) { DiemTBLonNhat(a, n); } else { printf("\nNhap DS Phong truoc!!!!"); } printf("\nBam phim bat ky de tiep tuc!"); _getch(); break; } case 0: printf("\nBan da chon thoat chuong trinh!"); _getch(); return 0; default: printf("\nKhong co chuc nang nay!"); printf("\nBam phim bat ky de tiep tuc!"); _getch(); break; } } } void nhap(TP& TP) { printf("\nNhap ten: "); scanf_s("%s", &TP.ten, 39); printf("\nNhap so giuong: "); scanf_s("%f", &TP.sogiuong); printf("\nNhap gia: "); scanf_s("%f", &TP.gia); } void nhapN(TP a[], int n) { printf("\n \n"); for (int i = 0; i < n; ++i) { printf("\nNhap Phong thu %d:", i + 1); nhap(a[i]); } printf("\n \n"); } void xuat(TP TP) { printf("\n Ten phong: %s", TP.ten); printf("\n Gia: %0.2f", TP.gia); printf("\nSo giuong : %0.2f", TP.sogiuong); } void xuatN(TP a[], int n) { printf("\n \n"); for (int i = 0;i < n;++i) { printf("\nThong tin TP thu %d:", i + 1); xuat(a[i]); } printf("\n \n"); } void sapxep(TP a[], int n) { //Sap xep theo DTB tang dan TP tmp; for (int i = 0;i < n;++i) { for (int j = i + 1; j < n;++j) { if (a[i].gia > a[j].gia) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } } } void xeploai(TP TP) { if (TP.gia >= 150000) printf("VIP"); else if (TP.gia >= 6.5) printf("VIP2"); else printf("Binh Dan"); } void xeploaiN(TP a[], int n) { printf("\n \n"); for (int i = 0;i < n;++i) { printf("\nXep loai cua phòng thu %d la: ", i + 1); xeploai(a[i]); } printf("\n \n"); } void TimKiemTP(TP a[], int n) { char Search[30]; printf("\nVui long nhap ten phong ban muon tim kiem:"); scanf_s("%s", &Search, 30); fflush(stdin); int result; for (int j = 0; j

Ngày đăng: 20/06/2023, 21:20

Tài liệu cùng người dùng

Tài liệu liên quan