1. Trang chủ
  2. » Luận Văn - Báo Cáo

nội dung quản lý danh sách sinh viên bằng danh sách kề

28 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ý danh sách sinh viên bằng danh sách kề
Tác giả Nguyễn Xuân Chức, Đoàn Ngọc Bảo Uyên
Người hướng dẫn VÕ QUANG HOÀNG KHANG
Trường học Trường Đại học Công nghiệp Thành phố Hồ Chí Minh
Chuyên ngành Cấu trúc dữ liệu và giải thuật
Thể loại Bài tập môn học
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 28
Dung lượng 2,08 MB

Nội dung

BẢNG PHÂN CÔNG NHIỆM VỤKết quả thực hiện1 Nguyễn Xuân Chức 22707218 - Hàm xuất bảng thông tin tất cả sinh viên - Hàm thêm sinh viên - Hàm sắp xếp sinh viên theo tên- Hàm xuất danh sách s

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

MÔN HỌC: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

NỘI DUNG: QUẢN LÝ DANH SÁCH SINH VIÊN BẰNG DANH SÁCH KỀ

Giảng viên bộ môn: VÕ QUANG HOÀNG KHANG

Lớp học phần : DHKTPM18ATT – 422000161103

Tp Hồ Chí Minh, ngày 01 tháng 09 năm 2023

Nguyễn Xuân Chức 22707218 0389568496Đoàn Ngọc Bảo Uyên 22699971 0943648490

Trang 2

1 BẢNG PHÂN CÔNG NHIỆM VỤ

thực hiện

Kết quả thực hiện

Điểm của nhóm

Điểm của giáo viên

1 Nguyễn Xuân Chức 22707218 - Hàm xuất bảng

thông tin tất cả sinh viên

- Hàm thêm sinh viên

- Hàm sắp xếp sinh viên theo tên

- Hàm xuất danh sách sinh viên rớt môn

- Hàm xuất danh sách sinh viên có điểm cao nhất

- Hàm ghi / đọc thông tin từ file(txt

và bin)

6/9/2023

28/8-Tốt 10

2 Đoàn Ngọc

Bảo Uyên 22699971 - Menu - Hàm tìm kiếm

theo giải thuật Linear Search

- Hàm xóa sinh viênkhi biết mssv

- Hàm sắp xếp sinh viên theo điểm trung bình

- Hàm chỉnh sửa thông tin sinh viên (mssv / họ tên / tuổi /điểm trung bình )

- Hàm tìm thông tin

sinh viên theo MSSV

6/9/2023 Tốt 10

Trang 3

28/8-2 MÔ TẢ BÀI TOÁN

*THÔNG TIN LƯU TRỮ:

- Lưu trữ thông tin cơ bản của sinh viên(Struct):

+ Mã số sinh viên

+ Họ tên sinh viên

+ Tuổi sinh viên

+ Điểm trung bình của sinh viên

*CÁC CHỨC NĂNG CHÍNH CỦA CHƯƠNG TRÌNH:

1 Bảng thông tin tất cả sinh viên

2 Thêm 1 hoặc nhiều sinh viên

3 Xóa 1 sinh viên

4 Chỉnh sửa thông tin của 1 sinh viên ( mssv / họ tên / tuổi / điểm trung bình )

5 Sắp xếp sinh viên theo điểm trung bình (/ từ cao đến thấp )

a) Theo điểm trung bình ( Từ thấp đến cao )

b) Theo điểm trung bình ( Từ cao đến thấp )

c) Theo tên ( Từ A Z )

d) Theo tên ( Từ Z A )

6 Truy vấn

a) Thông tin sinh viên theo MSSV

b) Danh sách sinh viên rớt môn

c) Sinh viên có điểm cao nhất

7 Sao lưu vào file QuanLiSinhVien.txt

8 Lấy thông tin từ dữ liệu sẵn có

9 Thoát chương trình

Trang 4

3 KHAI BÁO DỮ LIỆU

void output(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để xuất bảng thông tin sinh viên

*/

void them(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để thêm một hay nhiều thông tin sinh viên

*/

int timMSSV(SinhVien sv[], int n, char mssv[]);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*char mssv[] : chuỗi dùng để tìm kiếm mssv dạng chuỗi thuộc sv[]

*Hàm tìm kiếm thông tin sinh viên theo MSSV ( Giải thuật tìm kiếm tuyến tính )

*/

void xoa(SinhVien sv[], int &n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để xóa sinh viên trong danh sách

*/

Too long to read on your phone? Save

to read later on your computer

Save to a Studylist

Trang 5

void xoaSV(SinhVien sv[], int &n, int k);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*int k : vị trí sinh viên cần xóa

*Dùng để xóa thông tin sinh viên khi biết mssv

*/

void chinhSuaMSSV(SinhVien sv[], int n, int k);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*int k : vị trí sinh viên cần chỉnh sửa thông tin

* Dùng để chỉnh sửa thông tin về mssv của sinh viên ( MSSV là chuỗi gồm 8 chữ số )

*/

void chinhSuaHoTen(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

* Dùng để chỉnh sửa thông tin về họ và tên của sinh viên

*/

void chinhSuaTuoi(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để chỉnh sửa thông tin về tuổi của sinh viên

*/

Trang 6

void chinhSuaDiemTB(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

* Dùng để chỉnh sửa thông tin về điểm trung bình của sinh viên

*/

void sapXepTang(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để sắp xếp bảng thông tin sinh viên theo điểm trung bình ( từ thấp đến cao )

*/

void sapXepGiam(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để sắp xếp bảng thông tin sinh viên theo điểm trung bình ( từ cao đến thấp )

*/

void tach(SinhVien sv, char tmp[]);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

Char tmp[] : Chuỗi tạm lưu từ cuối trong chuỗi SinhVien

*Dùng để lưu tạm từ cuối của chuỗi

*/

void sapXepAZ(SinhVien sv[], int n) ;

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để sắp xếp hoTen của SinhVien theo thứ tự A Z

Trang 7

void sapXepZA(SinhVien sv[], int n) ;

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để sắp xếp hoTen của SinhVien theo thứ tự Z A

*/

void timThongTin(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để tìm và xuất thông tin sinh viên theo mssv đã nhập

*/

Trang 8

void timThongTinRotMon(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để xuất bảng thông tin những sinh viên rớt môn ( có điểm trung bình nhỏ hơn 4 )

*/

void timThongTinSinhVienDiemCaoNhat(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để in ra thông tin sinh viên có điểm trung bình cao nhất

*/

void luuFileBin(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để lưu trữ chính những thông tin sinh viên

*/

void luuFileTxt(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để lưu trữ phụ (để đọc) những thông tin sinh viên

*/

Trang 9

void moFile(SinhVien sv[], int &n);

/*

* SinhVien sv[] : Thao tác mảng sv kiểu SinhVien

*int n : kiểu số nguyên dùng để quản lý số lượng sinh viên

*Dùng để lấy dữ liệu có sẵn từ file đưa vào chương trình

*/

Trang 10

int timMSSV(SinhVien sv[], int n, char mssv[]){

for(int i=0; i<n; i++){

* - Nếu tìm thấy mssv xuất ra vị trí thứ i

* - Ngược lại xuất -1

*/

void xoaSV(SinhVien sv[], int &n, int k){

for(int i=k; i<n-1; i++){

* Hàm thực hiện xóa phần tử thứ k bằng cách dịch chuyển các phần tử phía sau lên

* trước một vị trí và giảm đi số lượng ( n )

* Xuất “(+) Da xoa” thông báo xóa thành công

Trang 11

* Nhập mssv cần xóa và cho chạy qua hàm timMSSV()

* - Nếu tìm thấy ( Giá trị trả về >=0): trả về vị trí cần xóa thứ i ( sử dụng hàm *

void sapXepAZ(SinhVien sv[], int n){

for(int i=0; i<n-1; i++){

* Sử dụng thuật toán Interchange Sort ( Sắp xếp đổi chỗ trực tiếp ) để sắp xếp sinh viên

* theo điểm trung bình (từ thấp đến cao)

* Cụ thể :

* - Duyệt qua từng phần tử của mảng ( bắt đầu từ i = 0 và lặp đến i < n-1 )

Trang 12

* - Xét phần tử tại vị trí i với các phần tử sau nó ( bắt đầu từ j = i+1 và lặp đến j < n )

* - Nếu phần tử tại vị trí i lớn hơn phần tử tại vị trí j thì đổi chỗ 2 phần tử đó cho nhau

void sapXepZA(SinhVien sv[], int n){

for(int i=0; i<n-1; i++){

Trang 13

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

* Xuất phát từ đầu dãy, đổi chỗ các cặp phần tử kế cận để đưa phần tử nhỏ hơn trong

* cặp phần tử đó về vị trí đứng cuối dãy , sau đó sẽ không xét đến nó ở bước tiếp theo

* Cụ thể :

* - Duyệt qua từng phần tử của mảng ( bắt đầu từ i = 0 và lặp đến i < n-1 )

* - Xét phần tử tại vị trí j với phần tử sau nó ( bắt đầu từ j = 0 và lặp đến j < n-i-1 )

* - Nếu phần tử tại vị trí j nhỏ hơn phần tử tại vị trí j+1 thì đổi chỗ 2 phần tử đó cho nhau

Trang 14

5 KẾT QUẢ CHẠY TRƯỜNG TRÌNH

Menu :

Chức năng 1 : Bảng thông tin tất cả sinh viên

Trang 15

Chức năng 2 : Thêm sinh viên

- Thêm một sinh viên

- Thêm nhiều sinh viên

Trang 16

- Trở lại :

- Lỗi

Nhập sai chức năng

Trang 17

Chức năng 3 : Xóa sinh viên ( khi biết mssv )

- Xóa thành công

- Lỗi :

Nhập sai mssv :

Trang 18

Chưa nhập mssv :

Chức năng 4 : Chỉnh sửa thông tin sinh viên

- Chỉnh sửa thành công

Chỉnh sửa mssv

Trang 19

Chỉnh sửa họ tên

Chỉnh sửa tuổi

Trang 20

Chỉnh sửa điểm trung bình

Trở lại

Trang 21

- Lỗi :

Nhập sai mssv

Chưa nhập mssv

Nhập sai chức năng

Trang 22

Chức năng 5 : Sắp xếp theo điểm trung bình

- Sắp xếp thành công :

Từ thấp đến cao

Trang 23

Từ cao đến thấp

Trở lại

Trang 24

- Lỗi

Nhập sai chức năng

Chức năng 6 : Truy vấn

- Tìm kiếm thông tin theo mssv

- Truy vấn những sinh viên rớt môn

- Truy vấn sinh viên có điểm trung bình cao nhất

- Trở lại

Trang 25

Chức năng 7 : Sao lưu

- Sao lưu thông tin sinh viên vào file QuanLiSinhVien.txt

Chức năng 8 : Mở dữ liệu sẵn có

- Lấy dữ liệu từ file QuanLiSinhVien.txt đã sao lưu

Trang 26

Chức năng 9 : Thoát chương trình

Ngày đăng: 24/05/2024, 10:18

HÌNH ẢNH LIÊN QUAN

1. BẢNG PHÂN CÔNG NHIỆM VỤ - nội dung quản lý danh sách sinh viên bằng danh sách kề
1. BẢNG PHÂN CÔNG NHIỆM VỤ (Trang 2)

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

TÀI LIỆU LIÊN QUAN

w