Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
255,94 KB
Nội dung
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 THỰC HÀNH ĐỀ 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 ĐÌNH TRINH ĐẠT Lớp : CQ.62.CNTT Khố : 62 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 THỰC HÀNH ĐỀ 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 ĐÌNH TRINH ĐẠT ĐỖ KHẮC TRUNG NGƠ VĂN THƠ TRẦN XUÂN THAO Lớp : CQ.62.CNTT Khoá : 62 Tp Hồ Chí Minh, năm 2022 BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN LỜI CẢM ƠN Trước tiên với tình cảm sâu sắc chân thành nhất, cho phép thành viên nhóm chúng em bày tỏ biết ơn đến thầy dành thời gian đọc báo cáo thực hành Để hoàn thành tốt đề tài tập lớn này, nỗ lực thành viên nhóm, nhóm em cịn nhận quan tâm giúp đỡ nhiều tập thể cá nhân Nhóm em xin trân trọng gửi lời cảm ơn chân thành kính trọng tới Thầy Cơ ngành Cơng Nghệ Thông Tin trường Đại học Giao Thông Vận Tải phân hiệu TP Hồ Chí Minh, đặc biệt nhóm em xin bày tỏ lòng biết ơn sâu sắc tới giáo viên hướng dẫn cô Trần Thị Dung , người tận tâm hưóng dẫn nhóm em suốt trình học tập hồn thiện đề tài Chương Trình Quản Lý Sinh Viên Do kiến thức thành viên cịn hạn hẹp nên khơng tránh khỏi thiếu sót cách hiểu, lỗi trình bày Nhóm em mong nhận đóng góp ý kiến quý thầy để báo cáo trở nên hồn thiện đạt kết tốt Những ý kiến nhận xét thầy động lực để nhóm chúng em tiếp tục phát triển học tập Một lần nhóm chúng em xin cảm ơn thầy dành thời gian hướng dẫn giúp chúng em hoàn thành tập môn học BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Tp Hồ Chí Minh, ngày ….… tháng ….… năm ….… Giảng viên hướng dẫn Trần Thị Dung BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN MỤC LỤC LỜI CẢM ƠN i NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ii MỤC LỤC iii DANH MỤC CHỮ VIẾT TẮT .iv BẢNG BIỂU, SƠ ĐỒ, HÌNH VẼ .v CHƯƠNG 1: MỞ ĐẦU vi 1.1 Tổng quan đề tài vi 1.2 Mục tiêu nghiên cứu vi 1.3 Phạm vi vi 1.4 Cấu trúc báo cáo vi 1.4.1 Chương 1: Tổng quan toán vi 1.4.2 Chương 2: Cơ sở lý thuyết, ứng dụng vào chương trình vi 1.4.3 Chương 4: Kết luận hướng phát triển vi CHƯƠNG 2: TÌM HIỂU NGƠN NGỮ LẬP TRÌNH C, ỨNG DỤNG VÀO CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN vii 2.1 Tổng quan ngôn ngữ lập trình C vii 2.1.1 Giới thiệu ngôn ngữ lập trình C .vii 2.1.2 Ưu điểm vii 2.1.3 Nhược điểm .viii 2.2 Ứng dụng vào chương trình quản lý sinh viên viii 2.2.1 Quản lý sinh viên .viii 2.2.2 Sơ đồ phân rã chức ix 2.2.3 Xây dựng chương trình ngơn ngữ C ix 2.2.4 Một số hình ảnh minh hoạ cho chương trình .xiv CHƯƠNG 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .xvi 3.1 Kết luận xvi 3.1.1 Kết luận đạt xvi 3.1.2 Kiến nghị xvi 3.2 Hướng phát triển .xvi PHỤ LỤC .xvii TÀI LIỆU THAM KHẢO xviii BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN DANH MỤC CHỮ VIẾT TẮT STT Mô tả Ý nghĩa BCPL Ngơn ngữ lập trình module Bộ phận MSSV Mã số sinh viên Là phần xử lý yêu cầu, câu lệnh lựa backend chọn thông tin xác để hiển thị lên hình TK Tổng kết QT Q trình ttsv Thơng tin sinh viên BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN Ghi BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BẢNG BIỂU, SƠ ĐỒ, HÌNH VẼ Sơ đồ 1: Sơ đồ phân rã chức Hình 1: Đăng nhập tài khoản Hình 2: Menu Hình 3: Thêm sinh viên Hình 4: Tìm kiếm sinh viên (Theo MSSV) Hình 5: Cập nhật tài khoản đăng nhập BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN CHƯƠNG 1: MỞ ĐẦU 1.1 Tổng quan đề tài Ngày với phát triển kinh tế, xã hội, khoa học, kỹ thuật nhu cầu học tập người tăng theo Số lượng người học trường đại học ngày nhiều nên việc quản lý sinh viên thủ cơng gặp nhiều khó khăn Với số lượng sinh viên lớn, giảng viên nhiều thời gian việc nhập xuất thông tin sinh viên với Đề tài Chương trình quản lý sinh viên ứng dụng công nghệ thông tin vào việc quản lý thông tin điểm số sinh viên, nhằm giải phần khó khăn việc giảng dạy 1.2 Mục tiêu nghiên cứu Tổng quan chương trình quản lý sinh viên Nghiên cứu ngơn ngữ lập trình C Khảo sát toán: Nhằm xác định yêu cầu tốn, chức cần có chương trình Phân tích thiết kế: Giúp cho việc phát triển chương trình nhanh chóng dễ dàng 1.3 Phạm vi Quản lý đối tượng có chức nêu phần nội dung Để hiểu rõ việc xây dựng chương trình quản lý sinh viên, em tham khảo chương trình quản lý sinh viên khác trường Đại học Giao Thông Vận Tải nhận tư vấn giúp đỡ giảng viên hướng dẫn, bạn bè em có ý tưởng xây dựng chương trình Quản lý sinh viên để giúp cho việc quản lý thông tin sinh viên nhanh chóng thuận tiện 1.4 Cấu trúc báo cáo 1.4.1 Chương 1: Tổng quan toán - Tổng quan đề tài - Mục tiêu nghiên cứu - Phạm vi 1.4.2 Chương 2: Cơ sở lý thuyết, ứng dụng vào chương trình - Tổng quan ngơn ngữ lập trình C - Ứng dụng sở lý thuyết vào chương trình 1.4.3 Chương 4: Kết luận hướng phát triển BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN CHƯƠNG 2: TÌM HIỂU NGƠN NGỮ LẬP TRÌNH C, ỨNG DỤNG VÀO CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN 2.1 Tổng quan ngôn ngữ lập trình C 2.1.1 Giới thiệu ngơn ngữ lập trình C C ngơn ngữ lập trình cấp cao, sử dụng phổ biến để lập trình hệ thống với Assembler phát triển ứng dụng Vào năm cuối thập kỷ 60 đầu thập kỷ 70 kỷ XX, Dennish Ritchie (làm việc phịng thí nghiệm Bell) phát triển ngơn ngữ lập trình C dựa ngơn ngữ BCPL (do Martin Richards đưa vào năm 1967) ngôn ngữ B (do Ken Thompson phát triển từ ngôn ngữ BCPL vào năm 1970 viết hệ điều hành UNIX máy PDP-7) cài đặt lần hệ điều hành UNIX máy DEC PDP-11 Năm 1978, Dennish Ritchie B.W Kernighan cho xuất “Ngơn ngữ lập trình C” phổ biến rộng rãi đến Những đặc điểm bản: - Tính đọng (compact): C có 32 từ khố chuẩn 40 toán tử chuẩn, hầu hết biểu diễn chuỗi ký tự ngắn gọn - Tính cấu trúc (structured): C có tập hợp thị lập trình cấu trúc lựa chọn, lặp… Từ chương trình viết C tổ chức rõ ràng, dễ hiểu - Tính tương thích (compatible): C có tiền xử lý thư viện chuẩn vô phong phú nên chuyển từ máy tính sang máy tính khác chương trình viết C hồn tồn tương thích - Tính linh động (flexible): C ngôn ngữ uyển chuyển cú pháp, chấp nhận nhiều cách thể hiện, thu gọn kích thước mã lệnh làm chương trình chạy nhanh - Biên dịch (compile): C cho phép biên dịch nhiều tập tin chương trình riêng rẽ thành tập tin đối tượng (object) liên kết (link) đối tượng lại với thành chương trình thực thi (executable) thống 2.1.2 Ưu điểm Ngơn ngữ lập trình C ngơn ngữ mạnh, mềm dẻo truy nhập vào hệ thống, nên thường sử dụng để viết hệ điều hành, trình điều khiển thiết bị, đồ họa, xây dựng phân mềm ngơn ngữ khác , … Ngơn ngữ lập trình C có cấu trúc module, từ ta phân hoạch hay chia nhỏ chương trình để tăng tính hiệu quả, rõ ràng, dễ kiểm tra chương trình BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN 2.1.3 Nhược điểm Một số kí hiệu ngơn ngữ lập trìnhC có nhiều ý nghĩa khác Ví dụ toán tử * toán tử nhân, toán tử thay thế, dùng khai báo trỏ Việc sử dụng đúng ý nghĩa toán tử phụ thuộc vào ngữ cảnh sử dụng Vì C ngơn ngữ mềm dẻo, việc truy nhập tự vào liệu, trộn lẫn liệu, …Từ đó, dẫn đến lạm dụng bất ổn chương trình 2.2 Ứng dụng vào chương trình quản lý sinh viên 2.2.1 Quản lý sinh viên Hiện với đời nhiều trường đại học khác nhau, số lượng sinh viên theo học trường ngày tăng lên, với số lượng sinh viên lớn việc quản lý thơng tin sinh viên địi hỏi nhiều thời gian công sức giảng viên Xây dựng chương trình quản lý sinh viên bán đưa với khả giúp quản lý, tổ chức sinh viên dễ dạng thuận tiện Người dùng – đối tượng chính: quản lý hệ thống Quản lý hệ thống có quyền cập nhật, thêm, tìm kiếm thơng tin tồn chương trình Với hệ thống “Quản lý sinh viên” người quản lý hệ thống có chức cập nhật thông tin sinh viên như: MSSV, Họ tên, Giới tính, Ngày sinh, Chuyên ngành, Lớp, Điểm, Học lực,… Quản lý sinh viên: Chương trình cho phép thêm, xố, tìm kiếm thơng tin sinh viên, xuất danh sách sinh viên, cập nhật tài khoản đăng nhập BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN 2.2.2 Sơ đồ phân rã chức Sơ đồ 1: Sơ đồ phân rã chức Thơng tin sinh viên: MSSV, họ tên, giới tính, ngày sinh,chuyên ngành, lớp, điểm QT, điểm thi 2.2.3 Xây dựng chương trình ngơn ngữ C Khai báo: - Thư viện: stdio.h , stdlib.h, string.h, conio.h, stdbool.h, windows.h - Định nghĩa: #define FILE_NAME " THONGTINSV.bin" // bin : file nhị phân - Cấu trúc Struct: typedef struct { int yyyy; int mm; int dd; } Date; typedef struct { char username[30]; char password[20]; } taikhoan; BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN typedef struct { char mssv[11]; char hovaten[30]; char gioitinh[5]; Date ngaysinh; char chuyennganh[10]; char lop[15]; float diemQT; float diemThi; char hocluc[15]; } ttsv; BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN Các hàm chương trình: - Hàm đồ hoạ tự định nghĩa: int whereY(); void ShowCur(bool CursorVisibility); void gotoXY(int x, int y); void SetColor(WORD color); void textcolor(int x); - Hàm thông báo: void printMessageCenter(const char* message); void headMessage(const char *message); void welcomeMessage(); - Hàm kiểm tra ngày sinh: int ktnam(int year); int ktngaysinh(Date *kiemtra); - Hàm thêm sinh viên: void themhocsinh() { ttsv them; // Khai báo biến them theo kiểu liệu ttsv int check=0; FILE *fp = NULL; fp = fopen(FILE_NAME,"ab+"); // mở file cho phép đọc ghi ‘nối đuôi’ if(fp == NULL){ // dạng nhị phân printf("Khong the mo file!!!\n"); exit(1); } … printf("\n\t\t\tMSSV : "); fflush(stdin); fgets(them.mssv,11,stdin); //fgets(char *str, int n, FILE *stream) // Đọc dòng từ Stream cho lưu trữ vào chuỗi trỏ str Nó dừng gặp điều kiện sau: (n-1) ký tự đọc, ký tự newline (dòng mới) đọc bắt gặp end-of-file BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN … fwrite(&them,sizeof(them), 1, fp); // Ghi liệu vừa nhập vào file fclose(fp); // Đóng file printf("\n\n\n\t\t\tNhan phim bat ki de tro ve menu "); fflush(stdin); getch(); } - Hàm tìm kiếm: void timkiemtheochuyennganh(); void timkiemsinhvien(); Trong đó: int fseek(FILE *stream, long int offset, int whence); Thiết lập vị trí file Stream tới offset cho Tham số offset xác định số byte để tìm kiếm từ vị trí where đã cho size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); Tổng số phần tử đọc thành công trả dạng đối tượng size_t, mà kiểu liệu nguyên Nếu số khác với tham số nmemb, lỗi xảy bắt gặp End-Of-File - Hàm xuất danh sách sinh viên: void danhsachsinhvien(); int fseek(FILE *stream, long int offset, int whence); size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); - Hàm xoá sinh viên: void xoasinhvientheothutu(); // tương tự MSSV void xoasinhvien( ){ int tk = 0; char xoa[11]; taikhoan tttk = {0}; ttsv them = {0}; FILE *fp = NULL; FILE *tmpFp = NULL; // File tạm thời chứa thông tin fp = fopen(FILE_NAME,"rb"); //rb chi duoc doc o duoi dang nhi phan if(fp == NULL) { printf("Khong co du lieu!!!\n"); BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN exit(1); } tmpFp = fopen("temp.bin","wb"); //wb- viet vao file tam thoi duoi dang nhi phan if(tmpFp == NULL) { fclose(fp); printf("Khong The Mo file!!!\n"); exit(1); } fread (&tttk,sizeof(taikhoan), 1, fp); // đọc tài khoản mật lưu file fwrite(&tttk,sizeof(taikhoan), 1, tmpFp); // lưu tài khoản mật vào file temp printf("\n\n\t\t\tNhap MSSV can xoa:"); fflush(stdin); fgets(xoa,11,stdin); while (fread (&them, sizeof(them), 1, fp)) // đọc file { if(strcmp(them.mssv,xoa ) != 0) // Duyệt mssv nhập vào chưa trùng với mssv duyệt lưu // thơng tin sinh viên vào file temp Lần lượt hết file { fwrite(&them,sizeof(them), 1, tmpFp); } else { tk = 1; } } (tk)? printf("\n\t\t\tXoa cong "):printf("\n\t\t\tKhong the tim thay sinh vien"); fclose(fp); fclose(tmpFp); //Xố thơng tin sinh viên cịn lại File ban đầu ( sinh viên cần xoá) remove(FILE_NAME); //Đổi tên file temp thành file ban đầu rename("temp.bin",FILE_NAME); getch(); BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN } - Hàm cập nhật thông tin tài khoản đăng nhập: void updatetaikhoan(); Trong đó: char *strncpy(char *dest, const char *src, size_t n) dest Đây trỏ trỏ tới mảng đích, nơi nội dung chép src Chuỗi chép n Số ký để chép từ src Hàm trả cuối chuỗi chép - Hàm vẽ khung , điều khiển menu, menu: void khung(int x,int y,int w,int h,int k_color,int b_color); // vẽ khung void n_khung(int x,int y,int w,int h,int k_color,int b_color,int slc); // vẽ nhiều khung void nhapnhay(int x,int y,int w,int h,int m_color); // dấu nhấp nháy thể trỏ void chucnang(int x,int y,int w,int h); // In chức chương trình void menutinh(int vitri); // Lấy liệu từ bàn phím sử dụng câu lệnh điều kiện: // switch(){ Case : … } // để thực chức chương trình void menu(); // Là backend menu tĩnh thực chức vẽ khung, di chuyển dấu nhấp nháy, truyền giá trị địa trỏ cho menutinh - Hàm đăng nhập: void login(); Mục đích hàm cho người dùng đăng nhập tài khoản mật khẩu, sai q lần chương trình cịn ngược lại đăng nhập thành cơng hiển thị menu cho người dùng lựa chọn - Hàm khởi đầu(init): nt xuatfile(const char *file); void init(); Mục đích hàm khởi tạo tài khoản mật (mặc định) cho file file khơng có thơng tin - Hàm main: int main(){ BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN init(); // Kiểm tra file có TK MK hay chưa chưa cài lại TK MK mặc định welcomeMessage(); login(); return 0; } 2.2.4 Một số hình ảnh minh hoạ cho chương trình Hình 1: Đăng nhập tài khoản Hình 2: Menu BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN Hình 3: Thêm sinh viên Hình 4: Tìm kiếm sinh viên (Theo MSSV) Hình 5: Cập nhật tài khoản đăng nhập BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN CHƯƠNG 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3.1 Kết luận 3.1.1 Kết luận đạt Sau trình tìm hiểu thực hiện, đề tài đáp ứng yêu cầu ban đầu đưa Xây dựng chương trình quản lý sinh viên với chức bản: - Thêm sinh viên - Tìm kiếm sinh viên - Danh sách sinh viên - Xoá sinh viên - Cập nhật tài khoản 3.1.2 Kiến nghị Do thời gian tìm hiểu, phân tích, thiết kế thực chương trình Quản lý sinh viên cịn số thiếu sót như: - Chưa đẩy đủ chức với yêu cầu chương trình quản lý sinh viên - Thiết kế chưa đáp ứng mặt thẩm mỹ - Code chưa tối ưu 3.2 Hướng phát triển Tìm hiểu kĩ kĩ thuật, câu lệnh có ngơn ngữ C Xây dựng thêm chức cần thiết khác cho chương trình BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN PHỤ LỤC Phụ lục 1: Hướng dẫn sử dụng Người dùng truy cập đường link https://github.com/NguyenDat020403/github-bai-taplon-qlsv/tree/main để tải file testlan1.c , sử dụng phần mềm Dev C++ phần mềm chạy chương trình C khác để chạy chương trình BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN BAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIENBAO.cao.THUC.HANH.de.tai.QUAN.ly.SINH.VIEN