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

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ề

27 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 lớn
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 27
Dung lượng 2 MB

Nội dung

MÔ TẢ BÀI TOÁN *THÔNG TIN LƯU TRỮ: - Lưu trữ thông tin co ban của sinh viénStruct: + Ma 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

Trang 1

HOCHIMINH CITY

A 44);

INDUSTRIAL

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

Trang 2

1 BANG PHAN CONG NHIEM VU

cong

Thoi gian thực hiện

Kết

quả thực hiện

Diem cua

nhóm

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

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 đanh sách sinh viên rớt môn

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

- Hàm ghi / đọc

thông tin từ file(txt

va bin)

28/8- 6/9/2023

- Hàm xóa sinh viên

khi 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

Trang 3

2 MÔ TẢ BÀI TOÁN

*THÔNG TIN LƯU TRỮ:

- Lưu trữ thông tin co ban của sinh vién(Struct):

+ Ma 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

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

2

3

4

5

Xóa ] sinh viên

Chỉnh sửa thông tin của 1 sinh viên ( mssv / họ tên / tuôi / điểm trung bình ) 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 Z2)

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

Truy van

a) Thong 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 nhat

Sao lưu vào file QuanLiSinhVien.txt

Lay thông tin từ dữ liệu sẵn có

Thoát chương trinh

Trang 4

3 KHAI BAO DU LIEU

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

[x

* SinhVien sv[] : Thao tac mang 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 tac mang 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 ttmMSSV(SinhVien sv[], int n, char mssv[]);

/*

* SinhVien sv[] : Thao tac mang 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 tac mang 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

*/

Trang 5

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

/*

* SinhVien sv[] : Thao tac mang sv kiéu SinhVien

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

*int k : vi tri sinh viên cần xóa

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

*/

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

/*

* SinhVien sv[] : Thao tac mang 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 tac mang 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(Sinh Vien sv[], int n);

/*

* SinhVien sv[] : Thao tac mang 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 tac mang 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[], mt n);

/*

* SinhVien sv[] : Thao tac mang sv kiéu SinhVien

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

*Dung dé sap xếp bảng thông tin sinh viên theo điểm trung bình ( từ thấp đến cao )

*/

void sapXepGiam(Sinh Vien sv[], int n);

/*

* SinhVien sv[] : Thao tac mang 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 tac mang sv kiéu SinhVien

Char tmp[] : Chuéi tam lwu tir cudi trong chudi Sinh Vien

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

*/

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

/*

* SinhVien sv[] : Thao tac mang 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 ho Ten của SinhVien theo thứ tự A Z

Trang 7

*/

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

/*

* SinhVien sv[] : Thao tac mang 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 ho Ten của SinhVien theo thứ tự Z A

*/

void timThongTin(Sinh Vien sv[], int n);

/*

* SinhVien sv[] : Thao tac mang 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 timThong TinRotMon(SinhVien sv[], int n);

/*

* SinhVien sv[] : Thao tac mang 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 timThong TinSinh VienDiemCaoNhat(SinhVien sv[], mt n);

/*

* SinhVien sv[] : Thao tac mang sv kiéu SinhVien

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

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

*/

void luuFileBin(Sinh Vien sv[], int n);

/*

* SinhVien sv[] : Thao tac mang 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 tac mang 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 tac mang sv kiéu SinhVien

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

*Dung dé lay dữ liệu có sẵn từ file đưa vào chương trình

*/

Trang 10

4 CAC HAM CAI DAT

1 Hàm xóa sinh viên khi biết MSSV

II Ngày viết : 1/9/2023

Il Người viet : Doan N; oọc Bảo Uyên

Gồm 3 hàm :

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

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

* Su dung ham strcmp(mssy,sv/i].mssy) :

* - Néu tim thay mssv xuất ra vi trí thir i

* - Newoc lai xuat -1

*/

void xoaS V(Sinh Vien sv[], int &n, int k){

for(int 1=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 /#nÀ⁄4SS?)

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

* Sử dụng thuật toán Interchange Sort ( Sap xép d6i 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 tir i = 0 vả lặp đến ¡ <n-1 )

Trang 12

* - Xét phần tir tai vi tri i voi cac phan tir sau no ( bắt đầu từ j = ¡+1 và lặp đến j <n )

* - Néu phan tir tai vi tri 1 lớn hơn phan tir tai vi tri j thi đổi chỗ 2 phần tử đó cho nhau

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ỏ hon 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 tir i = 0 vả lặp đến ¡ <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 nho hon phan tt tai vi tri j+1 thì đổi chỗ 2 phần tử đó cho

Trang 14

5 KET QUA CHAY TRUONG TRINH

Menu :

Chuong trinh quan 1i sinh vien

Bang thong tin tat ca sinh vien

‹ Them sinh vien

Xoa sinh vien(khi biet mssv)

.‹ Chỉnh sua thong tin sinh vien

Sap xep theo diem trung binh

Sao luu

- Mo du lieu san co

Thoat chuong trinh

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

Chuong trinh quan 11 sinh vien

Bang thong tin tat ca sinh vien

Them sinh vien

Xoa sinh vien(khi biet mssv)

Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

- Mo du lieu san co

Thoat chuong trinh

|

Trang 15

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

- _ Thêm một sinh viên

Chuong trinh quan 1i sinh vien Bang thong tin tat ca sinh vien

Them sinh vien

Xoa sinh vien(khi biet mssv)

Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

Truy van Sao luu

Mo du lieu san co

Thoat chuong trinh

Nhap vao cong viec

1.Them vao mot sinh vien

2.Them vao nhieu sinh vien

3.Tro lai

Nhap lua chon:1

Nhap MSSV:22699782 chua nhap mssv hoac nhap trung mssv!! Vui long nhap lai

Nhap MSSV:22688892 Nhap ho ten sinh vien:Phan Anh Tuan Nhap tuoi :19

Nhap diem trung binh:8.5 (+) Them thanh cong

- _ Thêm nhiêu sinh viên

BANG THONG TIN TAT CA CAC SINH VIEN

Chuong trinh quan 1i sinh vien

| Nguyen Xuan Chuc

Nhap vao cong viec can lam:2

1.Them vao mot sinh vien

2.Them vao nhieu sinh vien

3.Tro lai

Nhap lua chon:2

Nhap so luong sinh vien can them vao:2

Them vao sinh vien thu 1:

Nhap MSSV:22311142

Nhap ho ten sinh vien:Tran Minh Xuan

Nhap tuoi:18

Nhap diem trung binh:8.75

(+) Them thanh cong

Them vao sinh vien thu 2:

Nhap MSSV:22436671

Nhap ho ten sinh vien:Nhat Cao Linh

Nhap tuoi:18

Nhap diem trung binh:9

(+) Them thanh cong

Trang 16

- Trở lại:

Bang thong tin tat ca sinh vien

Them sinh vien

Xoa sinh vien(khi biet mssv)

Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

Truy van

Sao luu

- Mo du lieu san co

Thoat chuong trinh

Nhap vao cong viec can lam:2

1.Them vao mot sinh vien

2.Them vao nhieu sinh vien

3.Tro lai

Nhap lua chon:3

trinh quan 1i sinh vien Bang thong tin tat ca sinh vien

Them sinh vien

Xoa sinh vien(khi biet mssv)

Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

Truy van Sao luu

Mo du lieu san co

Thoat chuong

- Lỗi

- =.== Chuong trinh quan li sinh vien -

Bang thong tin tat ca sinh vien

- Them sinh vien

Xoa sinh vien(khi biet mssv)

- Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

- Truy van

- Sao luu

- Mo du lieu san co

- Thoat chuong trinh

Nhap vao cong viec can lam:2

1.Them vao mot sinh vien

2.Them vao nhieu sinh vien

3.Tro lai

Nhap lua chon:7

(!) Ban da nhap sai lua chon! Vui long nhap lai

Nhap lua chi

Trang 17

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

- _ Xóa thành công

Chuong trinh quan li sinh vien

Bang thong tin tat ca sinh vien

Them sinh vien

Xoa sinh vien(khi biet mssv)

- Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

Truy van

- Sao luu

- Mo du lieu san co

Thoat chuong trinh

Nhap vao cong viec can lam:3

Nhap mssv can xoa:

(!) Ban chua nhap mssv can xoa

Nhap mssv can xoa:22688892

E]

(+) Da xoa

Chuong trinh quan li sinh vien

| 2 Them sinh vien

| 6 Truy van

22782154

22699782

22588871 PPT SVE TS

Lu To Duyen Luu Lam Tung Tran Minh Xuan Nhat Cao Linh

vx Nhập sai mssv :

Chuong trinh quan li sinh vien Bang thong tin tat ca sinh vien

Them sinh vien

Xoa sinh vien(khi biet mssv)

Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

Truy van

Sao luu

Mo du lieu san co

Thoat chuong trinh

Nhap vao cong viec can lam:3

Nhap mssv can xoa:12345678

-1

(-) Ma so sinh vien khong ton tai!!

Trang 18

¥ Chwa nhap mssv :

Chuong trinh quan 1i sinh vien Bang thong tin tat ca sinh vien

Them sinh vien

Xoa sinh vien(khi biet mssv)

Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

Truy van Sao luu

Mo du lieu san co

Thoat chuong trinh

Nhap vao cong viec can lam:3

Nhap mssv can xoa:

(!) Ban chua nhap mssv can xoa

Nhap mssv can xoa:

2.Chinh sua ho ten

3.Chinh sua tuoi

4.Chinh sua diem trung binh

- Them sinh vien

Xoa sinh vien(khi biet mssv)

- Chinh sua thong tin sinh vien

- Sap xep theo diem trung binh

- Truy van

- Sao luu

- Mo du lieu san co

- Thoat chuong trinh

vao cong viec can lam:1

Trang 19

v\ Chỉnh sửa họ tên

Nhap vao cong viec can lam:4

1.Chinh sua mssv

2.Chinh sua ho ten

3.Chinh sua tuoi

4.Chinh sua diem trung binh

5.Tro lai

Nhap lua chon:2

Nhap mssv cua sinh vien can chinh sua: 22436671

Nhap Ho ten can sau chinh sua:Tran Ha Anh

(+) Da chinh sua

Chuong trinh quan li sinh vien

- Bang thong tin tat ca sinh vien

- Them sinh vien

Xoa sinh vien(khi biet mssv)

Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

- Truy van

- Sao luu

- Mo du lieu san co

+ Thoat chuong trinh

2.Chinh sua ho ten

3.Chinh sua tuoi

4.Chinh sua diem trung binh

5.Tro lai

Nhap lua chon:3

Nhap mssv cua sinh vien can chỉnh sua:22797884

Nhap tuoi can sau chinh sua:18

(+) Da chỉnh sua

Chuong trinh quan 1i sinh vien

Bang thong tin tat ca sinh vien

- Them sinh vien

Xoa sinh vien(khi biet mssv)

- Chinh sua thong tin sinh vien

Sap xep theo diem trung binh

MU

- Mo du lieu san co

Thoat chuong trinh

Ngày đăng: 27/12/2024, 11:32