1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn môn cấu trúc dữ liệu & giải thuật Đề tài quản lý học phí

14 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Quản Lý Học Phí
Tác giả Phạm Văn Minh, Lê Bá Quyết
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Cấu Trúc Dữ Liệu & Giải Thuật
Thể loại báo cáo
Định dạng
Số trang 14
Dung lượng 418,84 KB

Nội dung

Xác định bài toánBài toán quản lý sinh viên nhằm hỗ trợ các cán bộ hoặc nhà trường dễ dàng theo dõi thông tin sinh viên, bao gồm mã sinh viên, tên, lớp, điểm số, và thông tin liên hệ.. Đ

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG ĐIỆN – ĐIỆN TỬ

BÁO CÁO BÀI TẬP LỚN MÔN CẤU TRÚC DỮ LIỆU & GIẢI THUẬT

Nhóm 19:

Thành viên 1: Phạm Văn Minh – 20233534

Thành viên 2: Lê Bá Quyết –

Thành viên 3:

Trang 2

ĐỀ TÀI: QUẢN LÝ HỌC PHÍ

Nội dung

I Xác định bài toán 3

II Đối tượng được quản lý 4

III Xác định thuật toán 4

1. Danh sách liên kết đơn 4

1.1 Nhập danh sách sinh viên 4

1.2 In danh sách sinh viên 5

1.3 Tìm kiếm sinh viên theo mã số 6

1.4 Sắp xếp danh sách sinh viên theo điểm trung bình 7

2. Danh sách liên kết đôi 8

2.1 Xử lý nhập thông tin môn học 8

2.2 In danh sách môn học 9

2.3 Xóa sinh viên cuối danh sách 9

3. Ngăn xếp 10

3.1 Nhập danh sách từ file 10

3.2 In danh sách 11

3.3 Xóa sinh viên đầu tiên 11

3.4 Đếm số lượng sinh viên 12

3.5 Tìm kiếm sinh viên 13

4. Hàng đợi 14

4.1 Nhập danh sách sinh viên 14

4.2 Xuất danh sách sinh viên 14

IV Cài đặt chương trình 14

Trang 3

I Xác định bài toán

Bài toán quản lý sinh viên nhằm hỗ trợ các cán bộ hoặc nhà trường dễ dàng theo dõi thông tin sinh viên, bao gồm mã sinh viên, tên, lớp, điểm số, và thông tin liên hệ Việc quản lý sinh viên giúp xử lý nhanh chóng các hoạt động như tìm kiếm, sắp xếp, thống kê số lượng sinh viên

II Đối tượng được quản lý

Sinh viên: Mã sinh viên, họ tên, lớp học, chuyên ngành, số học phí cần

nộp, số học phí đã nộp, các khoản miễn giảm (nếu có)

Phiếu thu học phí: Mã phiếu thu, mã sinh viên, số tiền nộp, ngày nộp, và

người thu

Chi tiết quản lý học phí sinh viên:

Sinh viên: Bao gồm mã sinh viên, họ và tên, lớp học, chuyên ngành, tổng

số học phí cần nộp, số tiền đã nộp, số tiền miễn giảm, và số tiền còn phải đóng

Phiếu thu học phí: Mã phiếu thu, mã sinh viên, số tiền nộp, ngày nộp, số

tiền còn thiếu, người lập phiếu

III Xác định thuật toán

1 Danh sách liên kết đơn

Để thực hiện các chức năng trên ta cần:

 Khai báo cấu trúc dữ liệu

 Khai báo cấu trúc một nút trong danh sách liên kết đơn

 Khai báo danh sách liên kết đơn

 Khởi tạo danh sách rỗng

 Tạo nút mới với thành phần dữ liệu x

Trang 4

1.1 Nhập danh sách sinh viên và học phí

 Nhập danh sách n sinh viên, mỗi sinh viên có thông tin về mã sinh viên,

họ tên, lớp, số học phí cần nộp, số tiền đã nộp, và các khoản miễn giảm

 Sử dụng thuật toán để thêm các sinh viên vào danh sách liên kết đơn

o Mô tả thuật toán:

- Nhập n danh sách và thông tin từng sinh viên và học phí

- Cho i chạy từ i=1->n, nếu i<= n thì sau mỗi lần duyệt thêm 1 phần

tử vào sau danh sách

- Nếu i > n thì kết thúc thuật toán

o Sơ đồ thuật toán

1.2 In danh sách sinh viên và học phí

 In thông tin về mã sinh viên, họ tên, lớp, số học phí cần nộp, số đã nộp, và

số tiền miễn giảm

 Sơ đồ thuật toán

Trang 5

1.3 Tìm kiếm sinh viên theo mã số

 Tìm kiếm sinh viên theo mã sinh viên để xem thông tin về học phí của sinh viên đó

 Mô tả thuật toán:

• Bước 1: p = DQ.Head;

• Bước 2: Lặp trong khi (p!=NULL) và (p->infor.ma != x) thì p = p -> Next;

• Bước 3:

o Nếu p != NULL thì p trỏ đến phần tử cần tìm

o Ngược lại thì không tìm thấy phần tử cần tìm

 Sơ đồ thuật toán

Trang 6

1.4 Sắp xếp danh sách sinh viên theo mức học phí

 Sắp xếp danh sách sinh viên theo số học phí cần nộp từ thấp đến cao hoặc ngược lại

 Mô tả thuật toán:

+ Mô tả thuật toán: Sử dụng 2 con trỏ p, q dể duyệt và so sánh với nhau

 p = Q.Head;

 Lặp trong khi (p != NULL)

 q = p -> next;

 Lặp trong khi (q != NULL)

 So sánh giá trị của phần tử p và q nếu không đúng trật tự thì hoán đổi giá trị của p và q cho nhau

 Sơ đồ thuật toán

Trang 7

2 Danh sách liên kết đôi

Danh sách liên kết đôi được sử dụng để quản lý chi tiết phiếu thu học phí của sinh viên

2.1 Xử lý nhập thông tin môn học

 Nhập thông tin phiếu thu của mỗi sinh viên, bao gồm mã phiếu thu, mã sinh viên, số tiền nộp, ngày nộp và người lập phiếu

 Mô tả thuật toán

 Khởi tạo danh sách rỗng

 Tạo nút mới p với thành phần dữ liệu x

 Nhập n sản phẩm

 Duyệt từ i=1 đến i<= n Với mỗi lần duyệt, lưu 1 phần tử vào p

 Ngược lại i>n thì kết thúc

 Sơ đồ thuật toán

Trang 8

2.2 In danh sách môn học

 Duyệt qua danh sách các phiếu thu và in thông tin chi tiết của mỗi phiếu

 Sơ đồ thuật toán

2.3 Xóa sinh viên cuối danh sách

 Xóa sinh viên cuối cùng trong danh sách liên kết đôi

 Mô tả thuật toán:

 Kiểm tra danh sách không rỗng

 Lưu phần tử cuối tạm thời vào p

 Chuyển phần tử cuối tới phần tử bên trái

 Xóa p

 Kiểm tra lại danh sách

Trang 9

 Sơ đồ thuật toán

3 Ngăn xếp

3.1 Nhập danh sách từ file

 Nhập danh sách sinh viên và học phí từ file đã lưu trước đó vào ngăn xếp

 Mô tả thuật toán:

- Khởi tạo danh sách rỗng

- Nhập số lượng (n) sách

- Duyệt từng i=1 cho đến khi i<= n Với mỗi 1 phần tử ta thêm 1 thông tin sách vào sau danh sách

- Nếu i>n, kết thúc

 Sơ đồ thuật toán:

Trang 10

3.2 In danh sách

 In thông tin về học phí của các sinh viên từ ngăn xếp

 Sơ đồ thuật toán:

3.3 Xóa sinh viên đầu tiên

 Xóa sinh viên đầu tiên trong danh sách ngăn xếp

 Mô tả thuật toán:

- Kiểm tra danh sách không rỗng

- Lưu phần tử đầu vào p

- Chuyển phần tử đầu tới phần tử bên cạn

- Xóa phần tử đã được lưu trong p -> Xóa p

- Kiểm tra: nếu danh sách chỉ có 1 phần tử, khi xóa đi phần tử cuối không còn

 Sơ đồ thuật toán:

Trang 11

3.4 Đếm số lượng sinh viên

 Đếm tổng số lượng sinh viên trong danh sách

 Mô tả thuật toán:

- Bước 1: khởi tạo biến đếm = 0

- Bước 2: Kiểm tra danh sách còn phần tử và duyệt từ phần tử đầu đến phần tử cuối

của danh sách

- Nếu p -> Info == k thì tăng biến đếm lên 1 In ra màn hình giá trị biến đếm

 Sơ đồ thuật toán:

Trang 12

3.5 Tìm kiếm sinh viên

 Tìm kiếm thông tin học phí của sinh viên theo mã sinh viên

 Mô tả thuật toán:

- Bước 1: p= Q.Head; //p trỏ từ đầu danh sách

- Bước 2: Kiểm tra danh sách còn phần tử và nếu chưa tìm thấy phần

tử thì lặp trong khi (p!=NULL) và (p->Info != k) thì p = p -> Next;

- Bước 3: Nếu p != NULL thì p trỏ đến phần tử cần tìm Ngược lại thì không tìm thấy phần tử cần tìm

 Sơ đồ thuật toán:

3.6 Đếm số học sinh cần đóng học phí

 Mô tả thuật toán

- Bước 1: khởi tạo biến đếm = 0

- Bước 2: Kiểm tra danh sách còn phần tử và duyệt từ phần tử đầu đến phần tử cuối của danh sách

Nếu p -> Info == k thì tăng biến đếm lên 1 In ra màn hình giá trị biến đếm

 Sơ đồ thuật toán:

Trang 13

4 Hàng đợi

4.1 Nhập danh sách sinh viên

 Nhập n sinh viên và lưu vào hàng đợi

 Để thực hiện các chức năng trên ta cần:

• Khai báo cấu trúc dữ liệu

• Khai báo cấu trúc một nút trong h àng đ ợi

• Khởi tạo hàng đợi

• Kiểm tra hàng đợi rỗng

 Mô tả thuật toán:

 Sơ đồ thuật toán:

Trang 14

4.2 Xuất danh sách sinh viên

 Xuất danh sách sinh viên từ hàng đợi ra màn hình

4.3 Xóa bớt dữ liệu của danh sách

 Mô tả thuật toán:

• Nếu Q.head==NULL thì kết thúc chương trình

• Nếu Q.head khác NULL ta gán p=Q.head; Q.Head=p->next Q.Head->prev=NULL

 Sơ đồ thuật toán

4.4 Tìm kiếm dữ liệu theo mã sách Mô tả thuật toán

 Mô tả thuật toán

 Sơ đồ thuật toán

IV Cài đặt chương trình

Ngày đăng: 29/11/2024, 12:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w