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
294,58 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 QUẢN LÝ SINH VIÊN ĐỀ TÀI: 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 QUẢN LÝ SINH VIÊN ĐỀ TÀI: 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 q 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 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 q thầy để báo cáo trở nên hoà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 hồn thành tập mơn học TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat MỤC LỤC LỜI CẢM ƠN NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN MỤC LỤC DANH MỤC CHỮ VIẾT TẮT BẢNG BIỂU, SƠ ĐỒ, HÌNH VẼ CHƯƠNG 1: MỞ ĐẦU 1.1 Tổng quan đề tài 1.2 Mục tiêu nghiên cứu 1.3 Phạm vi 1.4 Cấu trúc báo cáo 1.4.1Chương 1: Tổng quan to 1.4.2Chương 2: Cơ sở lý thuyết, ứ 1.4.3Chương 4: Kết luận hướn 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.1Giới thiệu ngôn ngữ lập t 2.1.2Ưu điểm 2.1.3Nhược điểm 2.2 Ứng dụng vào chương trình quản lý sinh viên 2.2.1Quản lý sinh viên 2.2.2Sơ đồ phân rã chức 2.2.3Xây dựng chương trình 2.2.4Một số hình ảnh minh hoạ c CHƯƠNG 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3.1 Kết luận 3.1.1Kết luận đạt 3.1.2Kiến nghị 3.2 Hướng phát triển PHỤ LỤC TÀI LIỆU THAM KHẢO TIEU LUAN MOI download : skknchat123@gmail.com moi nhat STT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 tốn: Nhằm xác định yêu cầu toá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 ngồi 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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ụ tốn tử * toán tử nhân, toán tử thay thế, dùng khai báo trỏ Việc sử dụ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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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; TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat … 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"); TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 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(); TIEU LUAN MOI download : skknchat123@gmail.com moi nhat } - 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 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(){ TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 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 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat TÀI LIỆU THAM KHẢO [1] https://vncoder.vn/bai-hoc/tong-quan-ngon-ngu-lap-trinh-c-149 Tổng quan ngơn ngữ lập trình C [2] https://quantrimang.com/ham-trong-lap-trinh-c-156118 Hàm lập trình C [3] https://www.tutorialspoint.com/cprogramming/index.htm C Tutorial TIEU LUAN MOI download : skknchat123@gmail.com moi nhat ... 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. .. 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. .. 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,