TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
PHÂN HIỆU TẠI TP. HỒ CHÍ MINH
BỘ MƠN CƠNG NGHỆ THƠNG TIN
BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI: QUẢN LÍ SINH VIÊN
Giảng viên hướng dẫn: TRẦN THỊ DUNG
Sinh viên thực hiện: NGUYỄN THỊ THANH
Lớp
:
Khố :
CƠNG NGHỆ THƠNG TIN K62
K62
Tp. Hồ Chí Minh, năm 2022
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
PHÂN HIỆU TẠI TP. HỒ CHÍ MINH
BỘ MƠN CƠNG NGHỆ THƠNG TIN
BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI: QUẢN LÍ SINH VIÊN
Giảng viên hướng dẫn: TRẦN THỊ DUNG
Sinh viên thực hiện: NGUYỄN THỊ THANH
Lớp
: CÔNG NGHỆ THƠNG TIN K62
Khố : K62
Tp. Hồ Chí Minh, năm 2022
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
PHÂN HIỆU TẠI THÀNH PHỐ HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHIÃ VIỆT NAM
Độc lập – Tự do – Hạnh phúc
NHIỆM VỤ BÀI TẬP LỚN
BỘ MÔN: CÔNG NGHỆ THÔNG TIN
-------***------Mã sinh viên: 6251071089
Họ tên SV: Nguyễn Thị Thanh
Mã sinh viên: 6251071013
Họ tên SV: Trần Quốc Chung
Mã sinh viên: 6251071118
Họ tên SV: Phạm Quang Vinh
Mã sinh viên: 6251071011
Họ tên SV:Nguyễn Vi Hịa Bình
Khóa: K62
Lớp: CQ.62.CNTT
1. Tên đề tài
-Quản lí sinh viên
2. Mục đích, yêu cầu
- Mục đích: Thiết kế chương trình quản lí sinh viên .
- Yêu cầu : các thành viên nắm rõ được chương trình của nhóm .
3. Nội dung và phạm vi đề tài
- Nội dung: ứng dụng ngôn ngữ lập trình C vào chương trình; sử dụng nền tảng github
hỗ trợ quản lý làm việc nhóm .
- Phạm vi đề tài: xây dựng chương trình quản lí sinh viên trong phạm vi lớp học .
4. Công nghệ, công cụ và ngơn ngữ lập trình
- Cơng nghệ sử dụng: google Firebase
- Cơng cụ: Dev c++
- Ngơn ngữ lập trình: C
5. Các kết quả chính dự kiến sẽ đạt được và ứng dụng
- Quyển báo cáo bài tập lớn .
- Ứng dụng vào thực tế giúp các sinh viên cải thiện kỹ thuật lập trình .
6. Giáo viên và cán bộ hướng dẫn
Họ tên: ThS.Trần Thị Dung
Đơn vị công tác: Bộ môn Công nghệ Thông tin-Trường Đại học Giao thông vận tải phân
hiệu tại thành phố Hồ Chí Minh
Điện thoại:0388389579
Email:
Ngày tháng 10 năm 2021
Trưởng BM Công nghệ Thông tin
Đã giao nhiệm vụ TKTN
Giáo viên hướng dẫn
ThS. Trần Phong Nhã
ThS.Trần Thị Dung
Đã nhận nhiệm vụ Bài Tập Lớn.
Sinh viên: Nguyễn Thị Thanh
Ký tên:Thanh
Điện thoại:0962954741
Email:
Sinh viên:Trần Quốc Chung
Ký tên:Chung
Điện thoại:0378639205
Email:
Sinh viên:Nguyễn Vi Hịa Bình
Ký tên:Bình
Điện thoại: 0902404102
Email:
Sinh viên:Phạm Quang Vinh
Ký tên:Vinh
Điện thoại: 0347294105
Email:
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại bộ môn Công nghệ thông tin trường Đại học Giao
thông Vận tải – Phân hiệu tại thành phố Hồ Chí Minh em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể hồn thành đề tài “quản lí sinh viên” của mình. Em xin
gửi lời cảm ơn chân thành đến quý thầy, cô bộ môn Công nghệ thông tin trường Đại học
Giao thông Vận tải – Phân hiệu tại thành phố Hồ Chí Minh đã quan tâm hướng dẫn truyền
đạt học những kiến thức và kinh nghiệm cho em trong suốt thời gian học tập, và thực hiện
bài tập lớn một cách tận tình và tâm huyết. Em xin chúc q thầy cơ thật nhiều sức khỏe và
luôn đạt được thành công trong cuộc sống. Đặc biệt em xin cảm ơn cô Trần Thị Dung người
đã trực tiếp hướng dẫn em và chỉ bảo em trong quá trình thực hiện bài tập này. Thầy cơ đã
cùng em góp ý và xây dựng đề tài “quản kí sinh viên”. Sau một thời gian nỗ lực thực hiện
thì đề tài cũng đã hồn thành. Nhưng khơng sao tránh khỏi những sai sót do em cịn chưa
có nhiều kinh nghiệm. Em kính mong nhận được sự góp ý và nhận xét từ cơ để em có thể
hoàn thiện và hoàn thành tốt hơn cho đề tài của mình. Lời sau cùng em một lần nữa kính
chúc cô Trần Thị Dung bộ môn Công nghệ thông tin Trường Đại học Giao thông Vận tải –
Phân hiệu tại thành phố Hồ Chí Minh thật nhiều sức khỏe và thành công.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
…………………………………………………………………………………………...
………………………………………………………………………………………………
………………………………………………………………………………………………
Tp. Hồ Chí Minh, ngày ….… tháng 04 năm 2022
Giáo viên hướng dẫn
Trần Thị Dung
Mục Lục
LỜI CẢM ƠN.................................................................................................................................. 5
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN............................................................................. 6
BẢNG BIỂU, SƠ ĐỒ, HÌNH VẼ ................................................................................................... 2
CHƯƠNG I: CƠ SỞ LÝ THUYẾT ................................................................................................ 3
1.1: Thuật toán sắp xếp ................................................................................................................ 3
1.2: Thuật tốn tìm kiếm.............................................................................................................. 3
1.3: Kiểu cấu trúc struct ............................................................................................................... 4
1.4: Con trỏ .................................................................................................................................. 5
1.5: Hàm strcmp .......................................................................................................................... 5
1.6: Hàm strstr và hàm strlwr ...................................................................................................... 5
1.7: Đọc ghi file ........................................................................................................................... 5
Chương II: CHƯƠNG TRÌNH ỨNG DỤNG ................................................................................. 7
2.1: Lí do chọn đề tài ................................................................................................................... 7
2.2: Ý tưởng làm đề tài ................................................................................................................ 7
2.3: Phân tích, cách sử dụng các chức năng của chương trình .................................................... 7
2.3.1: Nhập danh sách.............................................................................................................. 7
2.3.2: In ra danh sách ............................................................................................................... 8
2.3.3: Sắp xếp điểm các mơn theo thứ tự giảm dần:................................................................ 8
2.3.4: Tìm kiếm sinh viên ........................................................................................................ 8
2.3.5: Chỉnh sửa thông tin sinh viên ........................................................................................ 8
2.3.6: Phân loại học lực sinh viên ............................................................................................ 9
2.3.7: Xóa sinh viên ................................................................................................................. 9
2.3.8: Sắp xếp danh sách sinh viên theo alphabe: ................................................................... 9
2.3.9: Thốt chương trình ........................................................................................................ 9
2.4 Xây dựng quản lí sinh viên bằng ngơn ngữ lập trình C ...................................................... 10
2.4.1 giao diện ban đầu : ........................................................................................................ 10
2.4.2
màn hình khi chương trình kết thúc. .......................................................................... 10
CHƯƠNG III. KẾT QUẢ VÀ KIẾN NGHỊ ................................................................................. 11
3.1: Kết quả đạt được ................................................................................................................. 11
3.2: Hướng phát triển ................................................................................................................. 11
3.3:Công việc và mức độ hoàn thành của các thành viên .......................................................... 11
TÀI LIỆU THAM KHẢO ............................................................................................................. 12
1
BẢNG BIỂU, SƠ ĐỒ, HÌNH VẼ
Hình2.4.1:…………………………………………………….......
Hình 2.4.2:………………………………………………………..
2
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1: Thuật toán sắp xếp
-
-
-
Khái niệm: Thuật toán sắp xếp là một thuật toán sắp xếp các phần tử của một
danh sách (hoặc một mảng) theo thứ tự (tăng hoặc giảm). Người ta thường
xét trường hợp các phần tử cần sắp xếp là các số.
Sắp xếp chọn
Duyệt từ đầu đến phần tử kề cuối danh sách, duyệt tìm phần tử nhỏ nhất từ vị
trí kế phần tử đang duyệt đến hết, sau đó đổi vị trí của phần tử nhỏ nhất đó
với phần tử đang duyệt và cứ tiếp tục như vậy.
Code:
1.2: Thuật tốn tìm kiếm
-
Khái niệm: Giải thuật tìm kiếm là một thuật tốn lấy đầu vào là một bài toán và
trả về kết quả là một lời giải cho bài tốn đó, thường là sau khi cân nhắc giữa
một loạt các lời giải có thể. Hầu hết các thuật tốn được nghiên cứu bởi các nhà
khoa học máy tính để giải quyết các bài tốn đều là các thuật tốn tìm kiếm. Tập
hợp tất cả các lời giải có thể đối với một bài tốn được gọi là khơng gian tìm
kiếm. Thuật tốn thử sai (brute-force search) hay các thuật tốn tìm kiếm "sơ
đẳng" khơng có thơng tin sử dụng phương pháp đơn giản nhất và trực quan nhất.
Trong khi đó, các thuật tốn tìm kiếm có thơng tin sử dụng Heuristics để áp dụng
3
các tri thức về cấu trúc của khơng gian tìm kiếm nhằm giảm thời gian cần thiết
cho việc tìm kiếm.
-
Code:
1.3: Kiểu cấu trúc struct
-
Vì struct là 1 kiểu cấu trúc do người dùng định nghĩa, do đó nhóm em
đã sử dụng để lưu trữ các thông tin của sinh viên để quản lí thơng tin
bao gồm:
4
1.4: Con trỏ
-
Sau khi lưu trữ các thông tin bằng kiểu struct, nhóm em sẽ truy xuất các thơng
tin tới địa chỉ của mỗi biến bằng kiểu con trỏ
-
1.5: Hàm strcmp
-
-
Vì hàm strcmp là hàm so sánh chuỗi, nếu như hàm này trả về giá trị 0 thì hai
hàm so sánh sẽ bằng nhau. Vì vậy nhóm em đã áp dụng vào chương trình để so
sánh chuỗi các tên của sinh viên sau đó dùng thuật tốn hốn vị để sắp xếp
danh sách theo kiểu Alphabe và áp dụng vào các chức năng như xóa sinh viên,
tìm sinh viên,..
Code:
1.6: Hàm strstr và hàm strlwr
-
-
Hàm strstr: là tìm kiếm sự xuất hiện cuối cùng của cả chuỗi mà có mặt trong
chuỗi được quét.
Hàm strlwr: là hàm trả về chuỗi chữ thường từ chuỗi đã cho
Code
Nhóm em đã lồng hàm strlwr vào hàm strstr nhằm tạo cho chương trình chức
năng tìm kiếm tên sinh viên không phân biệt chữ in hoa và chữ thường khi
người dùng nhập dữ liệu đầu vào
1.7: Đọc ghi file
-
Nhóm em sử dụng hàm FILE *fopen(“ ”, “ “) để tạo file nhằm ghi danh
sách của chương trình vào file .txt cho người dùng nếu như người dùng có
nhu cầu in danh sách và nhóm em sử dụng kiểu mode là “w+” cho có chế độ
đọc và ghi. Ở cuối hàm FILE sẽ đóng file bằng lệnh fclose();
5
-code
6
Chương II: CHƯƠNG TRÌNH ỨNG DỤNG
2.1: Lí do chọn đề tài
-
Một lớp học có thể có số lượng sinh viên rất là lớn vì vậy các nhu cầu quản lí sinh
viên như xếp loại sinh viên, xóa hoặc thêm sinh viên vào danh sách,... được đặt ra.
Từ đó xuất hiện chương trình quản lí thư viện
-
Đối tượng sử dụng chương trình này là giảng viên hoặc có thể là các cán bộ của lớp
học nhằm mục đích quản lí lớp học của mình một cách rõ ràng, thuận tiện hơn
2.2: Ý tưởng làm đề tài
-
Muốn làm phần mềm quản lý sinh viên trước tiên chúng ta phải sử dụng cấu trúc
struct để lưu trữ một đối tượng có nhiều thuộc tính.
-
Sau đó chúng ta sử dụng cấu trúc lặp: for, do while, while, để thực hiện các câu lệnh
tiếp theo. Ngoài ra chúng ta phải sử dụng cấu trúc điều khiển và rẽ nhánh: if else,
switch case.
-
Cuối cùng chúng ta nhập xuất file để lưu trữ dữ liệu, dễ dàng sao chép, di chuyển
dữ liệu giữa các thiết bị với nhau.
2.3: Phân tích, cách sử dụng các chức năng của chương trình
-
Chương trình sử dụng các chức năng như kiểu cấu trúc, mảng, tham chiếu,... để lưu
trữ các thông tin từ người nhập đưa vào, vì vậy chương trình sẽ cho phép xử lí các
chức năng như sau:
2.3.1: Nhập danh sách
-
Cho phép người sử dụng nhập vào thông tin các sinh viên bao gồm: số sinh viên của
lớp học, tên sinh viên(50 kí tự), mã số sinh viên(30 kí tự),giới tính,ngày sinh và
điểm của các mơn học
7
2.3.2: In ra danh sách
-
In ra danh sách bao gồm tất cả các thông tin của sinh viên mà người dùng đã nhập
vào
2.3.3: Sắp xếp điểm các môn theo thứ tự giảm dần:
-
Sắp xếp điểm bao gồm:
+ Điểm môn tin học đại cương
+ Điểm mơn kinh tế chính trị
+ Điểm mơn giải tích 2
+ Điểm mơn xác suất thống kê
+ Điểm trung bình(Điểm trung bình các mơn của sinh viên)
-
Chương trình sẽ tự động sắp xếp danh sách sinh viên theo thứ tự điểm giảm dần của
mơn do chính người dùng chọn
2.3.4: Tìm kiếm sinh viên
-
Chức năng tìm kiếm ngày sẽ cho phép tìm kiếm sinh viên theo 2 cách: tìm kiếm theo
tên của sinh viên và tìm kiếm theo cách nhập mã số sinh viên
-
Nếu kết quả cần tìm trùng khớp với dữ liệu người dùng nhập vào, chương trình sẽ
hiện thơng tin của sinh viên cần tìm, ngược lại sẽ thơng báo ra màn hình khơng có
kết quả cần tìm
2.3.5: Chỉnh sửa thơng tin sinh viên
-
Chức năng này cho phép nhập vào số thứ tự của sinh viên, sau đó sẽ yêu cầu người
sử dụng cập nhật lại thơng tin của sinh viên có số thứ tự trùng với số ở trong danh
sách, sau khi nhập xong chương trình sẽ lưu lại và cập nhật thơng tin mới
-
Nếu như nhập số thứ tự khơng trùng với só thứ tự có sẵn ở trong danh sách, chương
trình sẽ báo lên màn hình khơng có dữ liệu
8
2.3.6: Phân loại học lực sinh viên
-
Chương trình sẽ tự động phân loại học sinh theo các mức giỏi, khá, trung bình và
yếu. Với các mức phân loại theo điểm trung bình như sau:
+ Từ 0->5đ: Học sinh yếu
+ Từ 5->6,5: Học sinh trung bình
+ Từ 6,5->8: Học sinh khá
+ Từ 8->10: Học sinh giỏi
-
Sau khi phân loại xong, chương trình sẽ hiện danh sách sinh viên và xếp loại học
lực(có kèm điểm trung bình).
2.3.7: Xóa sinh viên
-
Chương trình sẽ đưa ra người dùng chọn 2 phương án: xóa sinh viên bằng tên của
sinh viên và xóa bằng mã số sinh viên. Nếu dữ liệu đưa vào trùng khớp với dữ liệu
ở trong danh sách, hệ thống sẽ xóa sinh viên khỏi danh sách. Ngược lại nếu không
trùng sẽ báo lên màn hình khơng có kết quả cần xóa.
-
Sau khi xóa chương trình sẽ cập nhật lại danh sách mới và in ra màn hình.
2.3.8: Sắp xếp danh sách sinh viên theo alphabe:
-
Sau khi chọn, sẽ sắp xếp danh sách sinh viên theo thứ tự alphabe và in ra màn hình
-
In danh sách
-
-In danh sách đã nhập từ khi chương trình bắt đầu ra file txt và thơng báo đã lưu ra
file.
2.3.9: Thốt chương trình
-
Thốt khỏi chương trình
9
2.4 Xây dựng quản lí sinh viên bằng ngơn ngữ lập trình C
2.4.1 giao diện ban đầu :
Hình ảnh giao diện
2.4.2
màn hình khi chương trình kết thúc.
Hình ảnh.
10
CHƯƠNG III. KẾT QUẢ VÀ KIẾN NGHỊ
3.1: Kết quả đạt được
-
Nhóm em đã hồn thành xong chương trình quản lý sinh viên với các chức
năng cơ bản khác nhau. Chương trình đạt được một số mục tiêu nhất định
nhưng vẫn cịn một số nhược điểm hạn chế, cũng như nhóm em vẫn chưa
có nhiều ý tưởng về các chức năng mới mẻ cho chương trình quản lí sinh
viên.
3.2: Hướng phát triển
-
Em sẽ cố gắng học hỏi và phát triển chương trình quản lý sinh viên với
nhiều chức năng hơn, ứng dụng vào thực tế nhiều hơn, thoả mãn nhu cầu
của người sử dụng trong xã hội.
3.3:Công việc và mức độ hồn thành của các thành viên
-Nguyễn Thị Thanh:Thuyết trình, làm báo cáo và phụ code(100%)
-Trần Quốc Chung: Code chính(100%)
- Nguyễn Vi Hịa Bình:phụ code và làm slide(100%)
-Phạm Quang Vinh: phụ code và làm slide(90%)
11
TÀI LIỆU THAM KHẢO
Codelearn.io
Laptrinhkhongkho.com
Vietjack.com
Topdev.vn
12