Nội dung: * Chương trình thực hiện quản lý thông tin sinh viên, điểm môn học của sinh viên * Các chức năng cơ bản xây dựng: - Nhập - In danh sách đối tượng - Thêm, sửa, xoá đối tượng
Trang 1TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
TRUNG TÂM ĐÀO TẠO ELEARNING
BAO CAO BAI TAP LON
MON: CAU TRUC DU LIEU VA GIAI THUAT
Giảng viên hướng dẫn:
Hà Nội - Năm 2023
Trang 2MỤC LỤC
I XÁC ĐỊNH BÀI TOÁN s:22222221222211222122112211221112211110.212121 ke 2
2 XÁC ĐỊNH CTDL BIÊU DIỄN BÀI TOÁN -5222:22222222122212221221 221.2 2
3 XÁC ĐỊNH CÁC THUẬT TOÁN - CÁC CHỨC NĂNG :-2222c 2222222 2
4 LẬP TRÌNH - CÀI ĐẶTT 2: 2222222212222112221122211122112111211121121111 21121 c6 3 5 KIÊM THỬ - LẬP BỘ TEST -222:222222221122221221122111211122112211121 1c 15
5.2 Nhập thông tin sinh viên và điểm - 5 E1 1 1111112121111 E1 11tr 15 5.3 Danh sach sinh viên đã nhập - 2 2C 2201122011323 1151 1153111511151 1 181111811 16 5.4 Sắp xếp sinh viên theo tên - 2s St E21 211112111111111 1111112121211 11tr 16 5.5 Sắp xếp danh sách sinh viên theo điểm giảm dân - 52 1S SE SE2112121E12xe2 17
5.6 Tìm kiếm sinh viên có điểm trung bình lớn nhắt 2 2S +2 SESE2222EzEzEzzcez 17 5.7 Tim kiếm sinh viên có điểm trung bình nhỏ nhất - 5-5 S 21821 £22222222 552 17
5.8 Tìm kiếm thông tin sinh viên theo tên + s21 11211155 EE511112171E111 15111 xxe 18 5.0 Xoá một sinh viên trong danh sách - 2 2 2221220112311 123 115111511111 551111 se 18 5.10 Đếm tổng số lượng sinh viên trong đanh sách - 2 2211 22152111112 22z22 18 5.11 Téng điểm 3 môn của sinh Vidi cccccccccccccscssesessesscsessesessessvsesevsesevsevevsesseseres 19 5.12 Tìm sinh viên có điểm môn toán cao nhất - 5: s s1 E1 EEEE1EE1111522222222xze 19 5.13 Tìm sinh viên cso điểm môn toán thấp nhát - 5 ST S111 EE5E521212171E12xe2 19 5.14 Ghi fñile danh sách sinh viên - - 2c 22 22221112251 131511 11113 1111112111111 1x12 20
6 Kết luận hướng phát triỂn 5s E21 1821211 11211111111111211 11121211011 rya 21
Trang 3ĐỀ TÀI: Viết chương trình quản lý các đối tượng để thực hiện cho bài toán “Quản lý cửa hàng”
| Nội dung:
* Chương trình thực hiện quản lý thông tin sinh viên, điểm môn học của sinh viên
* Các chức năng cơ bản xây dựng:
- Nhập - In danh sách đối tượng
- Thêm, sửa, xoá đối tượng
- Tìm kiếm đối tượng
Hiện nay chương trình quản lý điểm không còn xa lạ gì với mỗi
người chúng ta Các thông cần quản lý như: Họ tên sinh viên, Điểm các môn học, điểm trung bình các môn học
2 XÁC ĐỊNH CTDL BIỂU DIỄN BÀI TOÁN
- Quản lý thông tin sinh viên, điểm môn học của sinh viên
3 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 don, con trỏ, danh sách liên kết
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)
I Thêm thông tin sinh viên, điểm môn học
2 Hiển thị danh sách sinh viên
3 Sắp xếp theo tên
4 Sắp xếp theo điểm giảm dần
Trang 45 Tìm kiếm sinh viên có điểm trung bình lớn nhất
6 Tìm kiếm sinh viên có điểm trung bình nhỏ nhất
7 Tìm kiếm sinh viên theo tên
§ Xoá một sinh viên theo mã
9 Đếm số lương sinh viên trong danh sách
10 Tổng điểm ba môn của sinh viên
11 Tìm sinh viên có điểm môn toán cao nhất
12 Tìm kiếm sinh viên có điểm môn toán thấp nhất
13 Ghi thông tin sinh viên ra file
Trang 5diem->tbc = (diem->toan + diem->van + diem->anh) / 3;
void nhapHoTen(struct HoTen* ten) {
Trang 6struct SinhVien nhapSV() {
sv.diem.toan, sv.diem.van, sv.diem.anh, sv.diem.tbc);
void sapXepTheoTen(struct SinhVien* ds, int slsv) {
int i, j;
for(i = 0; i < slsv- 1; i++) {
for(j = slsv-1;j >i; j ) {
if(strcmp(gs[j].hoVaTen.ten, ds[j-1].hoVaTen.ten) < 0) { struct SinhVien sv = ds[j];
đs[j] = ds[j - 1];
ds[j - 1] = sv;
Trang 7void sapXepTheoDiem(struct SinhVien* ds, int slsv) {
int i, j;
for(i = 0; i < slsv - 1; i++) {
for( = slsV - 1;j > i;j ) {
if(ds[j].diem.tbc > ds[j - 1].diem.tbc) { struct SinhVien sv = ds|[j];
Trang 10printf("Khong co sinh vien %s trong danh sach!\n", ten);
void XoaSV(struct SinhVien* sv, int slsv)
Trang 11void ghiFile(struct SinhVien* ds, int slsv) {
Sv.ma, sv.hoVaTen.ho, sv.hoVaTen.dem, sv.hoVaTen.ten,
sv.tuoi, sv.gioiTinh,
sv.diem.toan, sv.diem.van, sv.diem.anh, sv.diem.tbc);
}
fclose(fOut);
void docFile(struct SinhVien* ds, int* slsv) {
FILE* fOut = fopen("SV.txt", "r");
&sv.ma, sv.hoVaTen.ho, sv.hoVaTen.dem,
sv.hoVaTen.ten, &sv.tuoi, sv.gioiTinh,
&sv.diem.toan, &sv.diem.van, &sv.diem.anh,
&sv.diem.tbc);
Trang 12"Ma Sv", "Ho", "Dem", "Ten", "Tuoi", "Gioi Tinh",
"Diem Toan", "Diem Van", "Diem Anh", "Diem TBC");
Trang 13printf("\n1 Them Sinh vien vao danh sach.");
printf("\n2 Hien thi danh sach sinh vien.");
printf("\n3 Sap xep theo ten.");
printf("\n4 Sap xep theo diem giam dan.");
printf("\n5 Tim sinh vien co diem trung binh lon nhat."); printf("\n6 Tim sinh vien co diem trung binh nho nhat."); printf("\n7 Tim sinh vien theo ten.");
printf("\n8 Xoa mot sinh vien theo ma.");
printf("\n9 Dem tong so luong sinh vien.");
printf("\n10 Tong diem 3 mon cua sinh vien.");
printf("\n11 Tim sinh vien co diem mon toan cao nhat.");
printf("\n12 Tim sinh vien co diem mon toan thap nhat."); printf("\n13 Ghi thong tin sinh vien ra file.");
printf("\nO Thoat chuong trinh.");
printf("\nBan chon ? ");
scanf("%d", &luaChon);
Trang 15"Ma SV", "Ho", "Dem", "Ten", "Tuoi",
"Tong diem 3 mon");
for(i = 0; i < slsv; i++) { float tb=0;
tb=dssv[i].diem.toan+ dssv[i].diem.van+
Trang 16printf(“%-10d %-10s %-20s %-10s %-10d %- 10s %-10.2f \n",
dssv[i].ma, dssv[i].hoVaTen.ho, dssv[i].hoVaTen.dem, dssv[i].hoVaTen.ten, dssv[i].tuoi,
5 KIEM THU - LAP BO TEST
Thực hiện chạy với bộ dữ liệu mẫu (Input-Output) đã xác định ở phần 2
Cho biết kết quả khi chạy từng chức năng tương ứng trên bộ dữ liệu Input đó
Trang 17Chụp hình ảnh kết quả chương trình tương ứng
5.1 Chọn yêu cầu
EN HIEN THOI:
Trang 18
s2 Nhập thông tin sinh viên và điểm
laa Le Them Sinh vien
Hien thi danh
Sap xep theo ten
Tim sinh vien co diem trung binh lon nhat
Tim sinh vien co diem trung binh nho nhat
Tim sinh vien theo ten
Xoa mot sinh vien theo ma
Dem tong so luong sinh vien
Them Sinh vien vao danh sach
Hien thi danh h vien
Sap xep theo ten
Sap xep theo diem giam dan
Tim sinh vien co diem trung binh lon nhat
Tim sinh vien co diem trung binh nho nhat
Tim sinh vien theo ten
Xoa mot sinh vien th
Dem tong so luong
Tong diem 3
Tim sỉ
Tim
Ghi thong tin si
Thoat chuong trinh
12 Tim si vien cod
13 Ghi thong tin sinh \
Thoat chuor
3an chon
Trang 19thi danh sach sinh vien
xep theo ten
giam dan
en co diem trung binh nho nhat
sinh vien theo ten
mot sinh vien theo ma
tong so luong sinh vien,
Tong diem 3 mon cua sinh vien
Tim sinh vien co diem mon toan cao nhat
Tim sinh vien co diem mon toan thap nhat
3 Ghi thong tin sinh vien ra file
@ Thoat chuong trinh
Ban chon ? 4
anh sach sinh vien khi sap xep theo diem giam dan:
ioi Tỉnh tien E BE)
pens)
Them Sinh vien vao danh sach
Hien thi danh sach sinh vien
Sap xep theo ten
xep theo diem giam dan
sinh vien co diem trung binh lon nhat
sinh vien theo ten
mot sinh vien theo m
1@ Tong diem 3 mon cua sinh vien
I1 Tim sinh vien co diem mon toan cao nhat
Tim sinh vien co diem mon toan thap nhat
3 Ghi thong tin sinh vien ra file
Thoat chuong trinh
1 Them Sinh vien vao danh sach
2 Hien thi danh sach sinh vien
3 Sap xep theo ten
4 Sap xep theo diem giam dan
6 Tim sinh vien co diem trung binh nho nhat
Dem tong so luong sinh vien
Tong diem 3 on cua sinh vien
Tim sinh vien co diem mon toan cao nhat
Tim sinh vien co diem mon toan thap nhat
Ghi thong tỉn
@ Thoat chuong trinh
Trang 205.8 _ Tìm kiếm thông tin sinh viên theo tên
ay
Them Sinh vien vao danh
Hien thi danh sach sinh v
xep theo diem giam dan
nh vien co diem trung binh lon nhat
sinh vien theo ten
mot sinh vien theo
tong so luong sinh vien
Tong diem 3 mon cua sinh vien
Tim sinh vien co diem mon toan cao nhat
2 Tim sinh vien co diem mon toan thap nhat
13 Ghi thong tin sinh vien ra fila
Them Sinh vien vao danh sach
Hien thi danh sach sinh vien
Sap xep theo ten
xep theo diem giam dan
sinh vien co diem trung bỉnh lon nhat
Sis) Mee Caden
mot sinh vien theo ma
tong so luo!
1ô Tong diem 3 mon cua sỉ c
sinh n co dien mon toan cao nhat
sinh so Pe ey n thap nhat
9 Thoat chuong trin
danh sach
ten
nh vien co diem trung binh lon nhat
Palm co diem trung binh nho nhat
Xoa mot vien theo
Dem tong so luong sinh
Tong em 3 mon cua
Tim sinh vien co diem mon toan cao nhat
Tim sinh vien co diem mon toan thap nhat
Ghi thong tin sinh vien ra file
@ Thoat chuong trinh
Trang 21Them Sinh
Hien thi danh
Sap xep theo ten
xep theo dien giam dan
sinh vien cơ diem trung binh lon nhat
Sap xep theo te
ep theo diem giam dan
ien co diem trung binh lon nhat
Tim ien theo ten
Xoa mot sinh vien theo ma
Dem tong luong sinh vie
Tong diem 3 mon cua sinh
Tim sinh vien co diem mon toan cao nhat
Tim sinh vien co diem mon toan thap nhat
Ghi thong tin sinh vien ra file
@ Thoat chuong trinh
Ban chon ? 12
1 ho tien
ì sinh vi
Tim sinh
Them Sinh vien vao dan
Sap xep theo ten
Sap xep theo diem giam dan
Tim sinh vien co diem
vien
trung binh lon nhat
Tim sinh vien co diem trung binh nho nhat
Tim sinh vien theo ten
Xoa mot sinh vien
Dem tong so luong
Tim sinh vien co diem mon toan cao nhat
Tim sinh vien co diem mon toan thap nhat
Ghi thong tin sinh vien ra fil
Ban chon ? 13
Nhap ten file:
20
Trang 226
Kết luận hướng phát triển
Hoàn thiện chức năng của phần mềm
Khắc phục các lỗi tồn tại của hệ thống
Ghi nhận thêm các yêu cầu khác của phần mềm
21