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 1HOCHIMINH 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 21 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 32 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 43 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 5void 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 6void 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 8void 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 9void 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 104 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 13Mô 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 145 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 15Chứ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 17Chứ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
LÊ
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 19v\ 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