Tải bản đầy đủ (.docx) (22 trang)

(TIỂU LUẬN) báo cáo THỰC HÀNH đề tài QUẢN lý SINH VIÊN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (503.9 KB, 22 trang )

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


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:


1. NGUYỄN ĐÌNH TRINH ĐẠT
2. ĐỖ KHẮC TRUNG
3. NGƠ VĂN THƠ
4. TRẦN XN THAO
Lớp

: CQ.62.CNTT

Khố : 62

Tp. Hồ Chí Minh, năm 2022


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 q trình học tập và
hồ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 hồ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 hồn thành bài tập của mơn học.


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


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.1Chương 1: Tổng quan bài to

1.4.2Chương 2: Cơ sở lý thuyết, ứ

1.4.3Chương 4: Kết luận và 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 về ngơn ngữ lập trình C...........................

2.1.1Giới thiệu về 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 năng.....

2.2.3Xây dựng chương trình bằng

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

3.1.2Kiến nghị.............................

3.2 Hướng phát triển........................................................
PHỤ LỤC

.............................................

TÀI LIỆU THAM KHẢO.............................................................................................


STT
1
2
3

4


5
6
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..............................................................................


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 tốn: Nhằm xác định các u cầu của bài tố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à ngồ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
- Tổng quan về đề 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 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


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ừ khố 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 hồn tồ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.


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ụ tố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 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 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, 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.


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
- Cấu trúc Struct:
typedef struct

{
int yyyy;
int mm;
int dd;
} Date;


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



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();
}
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 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 tạm thời chứa thông tin
FILE *tmpFp = NULL;
fp = fopen(FILE_NAME,"rb");
//rb -- chi duoc doc o duoi dang nhi phan
if(fp == NULL)
{
printf("Khong co du lieu!!!\n");


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);
}
// đọc tài khoản mật khẩu lưu trong file
fread (&tttk,sizeof(taikhoan), 1, fp);
// lưu tài khoản mật khẩu vào file temp
fwrite(&tttk,sizeof(taikhoan), 1, tmpFp);
printf("\n\n\t\t\tNhap MSSV can xoa:");
fflush(stdin);
fgets(xoa,11,stdin);
// đọc file
while (fread (&them, sizeof(them), 1, fp))
{
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);
//Xố thơng tin sinh viên cịn lại trong 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();


}
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
Hàm
đăng nhập: void
login();
 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
q 3 lần thì thố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ì.


-



m main: int
main(){


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

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


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:
- 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ế 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ỹ.
- Code chưa được tối ưu.
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.


PHỤ LỤC
Phụ lục 1: Hướng dẫn sử dụng
Người dùng truy cập đường link để 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.


TÀI LIỆU THAM KHẢO
[1]. Tổng quan
ngơn ngữ lập trình C.
[2]. Hàm lập trình trong
C.
[3]. C Tutorial.



×