1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo THỰC HÀNH đề tài QUẢN lý SINH VIÊN

20 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhóm em xin trân trọng gửi lời cảm ơn chân thành và sự kính trọng tới các Thầy và 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, và đặc biệt nhó

Trang 1

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

Khoá : 62

Tp Hồ Chí Minh, năm 2022

Trang 2

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:

1 NGUYỄN ĐÌNH TRINH ĐẠT

2 ĐỖ KHẮC TRUNG

3 NGÔ VĂN THƠ

4 TRẦN XUÂN THAO Lớp : CQ.62.CNTT

Khoá : 62

Trang 3

LỜI CẢM ƠN

Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép các thành viên của nhóm chúng em được bày tỏ sự biết ơn đến thầy đã dành ra thời gian đọc bài báo cáo thực hành này

Để hoàn thành tốt đề tài bài tập lớn này, ngoài sự nỗ lực của mỗi thành viên trong nhóm, nhóm em còn nhận được sự quan tâm giúp đỡ của nhiều tập thể và cá nhân

Nhóm em xin trân trọng gửi lời cảm ơn chân thành và sự kính trọng tới các Thầy

và 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, và đặ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 trong suốt quá trình học tập và hoàn thiện đề tài Chương Trình Quản Lý Sinh Viên

Do kiến thức của mỗi thành viên còn hạn hẹp nên không tránh khỏi những thiếu sót trong cách hiểu, lỗi trình bày Nhóm em rất mong nhận được sự đóng góp ý kiến của quý thầy cô để bài báo cáo trở nên hoàn thiện và đạt kết quả tốt hơn

Những ý kiến nhận xét của thầy sẽ là động lực để nhóm chúng em tiếp tục phát triển trong học tập Một lần nữa nhóm chúng em xin cảm ơn thầy đã dành thời gian hướng dẫn và giúp chúng em hoàn thành bài tập của môn học

Trang 4

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

Trang 5

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 về đề tài

1.2 Mục tiêu nghiên cứu

1.3 Phạm vi

1.4 Cấu trúc bản báo cáo

1.4.1 Chương 1: Tổng quan bài toán

1.4.2 Chương 2: Cơ sở lý thuyết, ứng dụng vào chương trình

1.4.3 Chương 4: Kết luận và hướng phát triể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 về ngôn ngữ lập trình C

2.1.1 Giới thiệu về ngôn ngữ lập trình C

2.1.2 Ưu điểm

2.1.3 Nhược điểm

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

2.2.2 Sơ đồ phân rã chức năng

2.2.3 Xây dựng chương trình bằng ngôn ngữ C

2.2.4 Một số hình ảnh minh hoạ cho chương trình

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 được

3.1.2 Kiến nghị

3.2 Hướng phát triển

PHỤ LỤC

TÀI LIỆU THAM KHẢO

Trang 6

DANH MỤC CHỮ VIẾT TẮT

Là phần xử lý yêu cầu, câu lệnh và lựa

4 backend chọn thông tin chính xác để hiển thị lên

màn hình

Trang 7

BẢNG BIỂU, SƠ ĐỒ, HÌNH VẼ

Sơ đồ 2 1: Sơ đồ phân rã chức năng

Hình 2 1: Đăng nhập tài khoản Hình 2 2: Menu

Hình 2 3: Thêm sinh viên

Hình 2 4: Tìm kiếm sinh viên (Theo MSSV)

Hình 2 5: Cập nhật tài khoản đăng nhập

Trang 8

CHƯƠNG 1: MỞ ĐẦU

1.1 Tổng quan về đề tài Ngày nay với sự phát triển của kinh tế, xã hội, khoa học, kỹ thuật thì nhu cầu học tập của con người cũng tăng theo Số lượng người học ở các trường đại học ngày càng 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 sẽ mất khá nhiều thời gian trong 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 sẽ ứng dụng công nghệ thông tin vào việc

quản lý thông tin và điểm số của sinh viên, nhằm giải quyết phần nào khó khăn trong việc giảng dạy

1.2 Mục tiêu nghiên cứu Tổng quan về chương trình quản lý sinh viên

Nghiên cứu về ngôn ngữ lập trình C

Khảo sát bài toán: Nhằm xác định các yêu cầu của bài toán, các chức năng cần có trong chương trình

Phân tích và thiết kế: Giúp cho việc phát triển chương trình nhanh chóng và dễ dàng

1.3 Phạm vi Quản lý các đối tượng có trong các chức năng được nêu ra trong phần nội dung

Để hiểu rõ về việc xây dựng một chương trình quản lý sinh viên, em đã tham khảo

các chương trình quản lý sinh viên khác trong và ngoài trường Đại học Giao Thông Vận

Tải và nhận được sự tư vấn giúp đỡ của 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

được nhanh chóng và thuận tiện

1.4 Cấu trúc bản báo cáo 1.4.1 Chương 1: Tổng quan bài toán

1.4.2 Chương 2: Cơ sở lý thuyết, ứng dụng vào chương trình

- Tổng quan về ngôn ngữ lập trình C

- Ứng dụng cơ sở lý thuyết vào chương trình 1.4.3 Chương 4: Kết luận và hướng phát triển

Trang 9

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 về ngôn ngữ lập trình C 2.1.1 Giới thiệu về ngôn ngữ lập trình C

C là ngôn ngữ lập trình cấp cao, được sử dụng rất phổ biến để lập trình hệ thống cùng với Assembler và phát triển các ứng dụng

Vào những năm cuối thập kỷ 60 đầu thập kỷ 70 của thế kỷ XX, Dennish Ritchie (làm việc tại phòng thí nghiệm Bell) đã phát triển ngôn ngữ lập trình C dựa trên ngôn ngữ BCPL (do Martin Richards đưa ra vào năm 1967) và ngôn ngữ B (do Ken Thompson phát triển từ ngôn ngữ BCPL vào năm 1970 khi viết hệ điều hành UNIX đầu tiên trên máy PDP-7) và được cài đặt lần đầu tiên trên hệ điều hành UNIX của máy DEC PDP-11

Năm 1978, Dennish Ritchie và B.W Kernighan đã cho xuất bản quyển “Ngôn ngữ lập trình C” và được phổ biến rộng rãi đến nay

Những đặc điểm cơ bản:

- Tính cô đọng (compact): C chỉ có 32 từ khoá chuẩn và 40 toán tử chuẩn, nhưng hầu hết đều được biểu diễn bằng những chuỗi ký tự ngắn gọn

- Tính cấu trúc (structured): C có một tập hợp những chỉ thị của lập trình như cấu trúc lựa chọn, lặp… Từ đó các chương trình viết bằng C được tổ chức rõ ràng, dễ hiểu

- Tính tương thích (compatible): C có bộ tiền xử lý và một thư viện chuẩn vô cùng phong phú nên khi chuyển từ máy tính này sang máy tính khác các chương trình viết bằng C vẫn hoàn toàn tương thích

- Tính linh động (flexible): C là một ngôn ngữ rất uyển chuyển và cú pháp, chấp nhận nhiều cách thể hiện, có thể thu gọn kích thước của các mã lệnh làm chương trình chạy nhanh hơn

- 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 các tập tin đối tượng (object) và liên kết (link) các đối tượng đó lại với nhau thành một chương trình

có thể thực thi được (executable)

thống nhất

2.1.2 Ưu điểm Ngôn ngữ lập trình C là một ngôn ngữ mạnh, mềm dẻo và có thể truy nhập vào hệ thống, nên thường được sử dụng để viết hệ điều hành, các trình điều khiển thiết bị, đồ họa, có thể xây dựng các 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 có thể 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 trong chương trình

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Trang 10

2.1.3 Nhược điểm Một số kí hiệu của ngôn ngữ lập trìnhC có nhiều ý nghĩa khác nhau Ví dụ toán tử

* là toán tử nhân, cũng là toán tử thay thế, hoặc dùng khai báo con trỏ Việc sử dụng đúng ý nghĩa của các toán tử phụ thuộc vào ngữ cảnh sử dụng

Vì C là một ngôn ngữ mềm dẻo, đó là do việc truy nhập tự do vào dữ liệu, trộn lẫn các dữ liệu, …Từ đó, dẫn đến sự lạm dụng và sự bất ổn của 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 nay với sự ra đời của nhiều trường đại học khác nhau, số lượng sinh viên theo học ở mỗi trường ngày càng tăng lên, với số lượng sinh viên lớn như vậy việc quản

lý thông tin sinh viên sẽ đòi hỏi rất nhiều thời gian công sức của các giảng viên Xây dựng chương trình quản lý sinh viên là bài bán được đưa ra với khả năng giúp quản lý, tổ chức sinh viên dễ dạng và 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 trong toà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 năng cập nhật

thông tin về sinh viên như: MSSV, Họ và 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, xoá, 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.

Trang 11

2.2.2 Sơ đồ phân rã chức năng

Sơ đồ 2 1: Sơ đồ phân rã chức năng

Thông tin sinh viên: MSSV, họ và 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 bằng 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

char chuyennganh[10]; char lop[15];

float diemQT;

float diemThi;

char hocluc[15]; } ttsv;

Trang 12

Các hàm trong 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);

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);

{ ttsv them; // Khai báo biến them theo kiểu dữ liệu ttsv int check=0;

FILE *fp = NULL;

fp = fopen(FILE_NAME,"ab+"); // mở file cho phép đọc và ghi ‘nối đuôi’

if(fp == NULL){ // dưới 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 một dòng từ Stream đã cho và lưu trữ nó vào trong chuỗi được trỏ bởi str Nó dừng khi gặp bất cứ điều kiện nào sau: (n-1) ký tự đã được đọc, ký tự newline (dòng mới) được đọc hoặc bắt gặp end-of-file

Trang 13

fwrite(&them,sizeof(them), 1, fp); // Ghi dữ 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();

}

void timkiemtheochuyennganh();

void timkiemsinhvien();

Trong đó:

int fseek(FILE *stream, long int offset, int whence);

Thiết lập vị trí file của 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 đọc thành công được trả về dưới dạng một đối tượng size_t, mà

là một kiểu dữ liệu nguyên Nếu số này khác với tham số nmemb, thì hoặc một lỗi đã xảy ra hoặc 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ự như 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");

Trang 14

} 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 khẩu lưu trong file

fwrite(&tttk,sizeof(taikhoan), 1, tmpFp); // lưu tài khoản mật khẩu 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 lần lượt trong khi mssv nhập vào chưa trùng với mssv đang duyệt thì lưu

/ thông tin sinh viên đó vào file temp Lần lượt cho đến hết file

{ fwrite(&them,sizeof(them), 1, tmpFp);

} else {

tk = 1;

} } (tk)? printf("\n\t\t\tXoa thanh cong "):printf("\n\t\t\tKhong the tim thay sinh vien"); fclose(fp);

fclose(tmpFp);

//Xoá thông tin sinh viên còn lại trong File ban đầu ( sinh viên cần xoá) remove(FILE_NAME);

Trang 15

- 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 là con trỏ trỏ tới mảng đích, nơi nội dung được sao chép src Chuỗi được sao chép

n Số ký tôi để được sao chép từ src.

 Hàm này trả về bản sao cuối cùng của chuỗi được sao 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ẽ 1 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ể hiện con trỏ void chucnang(int x,int y,int w,int h); // In ra các chức năng của chương trình void menutinh(int vitri); // Lấy dữ liệu từ bàn phím và sử dụng câu lệnh điều kiện:

// switch(){

Case :

} // để thực hiện các chức năng trong chương trình void menu();

// Là backend của menu tĩnh thực hiện các chức năng như vẽ khung, di chuyển dấu nhấp nháy, truyền giá trị địa chỉ con trỏ cho menutinh

 Mục đích của hàm này là cho người dùng đăng nhập tài khoản mật khẩu, nếu sai quá 3 lần thì thoát chương trình còn ngược lại nếu đăng nhập thành công thì sẽ 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 của hàm này là khởi tạo tài khoản mật khẩu (mặc định) cho file nếu như trong file không có thông tin gì

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Trang 16

init(); // Kiểm tra trong file có TK MK hay chưa nếu chưa thì 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 2 1: Đăng nhập tài khoản

Trang 17

Hình 2 3: Thêm sinh viên

Hình 2 4: Tìm kiếm sinh viên (Theo MSSV)

Hình 2 5: Cập nhật tài khoản đăng nhập

Trang 18

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 được Sau quá trình tìm hiểu và thực hiện, đề tài đã đáp ứng được những yêu cầu ban đầu được đưa ra Xây dựng được chương trình quản lý sinh viên với các chức năng cơ bả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ế và hiện thực chương trình Quản lý sinh viên vẫn còn một số thiếu sót như:

- Chưa đẩy đủ các chức năng đúng với yêu cầu một chương trình quản lý sinh viên

- Thiết kế chưa đáp ứng về mặt thẩm mỹ

3.2 Hướng phát triển Tìm hiểu kĩ về các kĩ thuật, các câu lệnh có trong ngôn ngữ C

Xây dựng thêm các chức năng cần thiết khác cho chương trình

Trang 19

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-tap-lon-qlsv/tree/main để tải file testlan1.c , sử dụng phần mềm Dev C++ hoặc các phần mềm

có thể chạy chương trình C khác để chạy chương trình

Trang 20

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 trong C

[3]. https://www.tutorialspoint.com/cprogramming/index.htm C Tutorial

Ngày đăng: 21/10/2022, 04:51

HÌNH ẢNH LIÊN QUAN

Hình 2. 1: Đăng nhập tài khoản - BÁO cáo THỰC HÀNH đề tài QUẢN lý SINH VIÊN
Hình 2. 1: Đăng nhập tài khoản (Trang 16)
2.2.4Một số hình ảnh minh hoạ cho chương trình - BÁO cáo THỰC HÀNH đề tài QUẢN lý SINH VIÊN
2.2.4 Một số hình ảnh minh hoạ cho chương trình (Trang 16)
Hình 2. 3: Thêm sinh viên - BÁO cáo THỰC HÀNH đề tài QUẢN lý SINH VIÊN
Hình 2. 3: Thêm sinh viên (Trang 17)
Hình 2. 4: Tìm kiếm sinh viên (Theo MSSV) - BÁO cáo THỰC HÀNH đề tài QUẢN lý SINH VIÊN
Hình 2. 4: Tìm kiếm sinh viên (Theo MSSV) (Trang 17)

🧩 Sản phẩm bạn có thể quan tâm

w