Và nêu bạn cần thêm các tính năng cho chương trình, C++ cho phép bạn sử dụng ngôn ngữ Assembly Hợp ngữ - Ngôn ngữ lập trình bậc thấp nhất dùng để giao tiếp trực tiếp với phần cứng của má
Trang 1
Trường Dại Học Kinh Doanh Và Công Nghệ Ha Noi Khoa Công Nghệ Thông Tin
¬.——
a Hoe
KINH DOANH
VÀ CÔNG NGHỆ
HÀ NỘI
=Sơẻ£#Ã
DO AN LAP TRINH C++
QUAN LY SINH VIEN
Sinh viên : Phùng Thị Diễm Hằng Lớp : TH27.61
MSV : 2722161267
Trang
Trang 2
Mở đầu
Ngày nay, công nghệ thông tin là một ngành rất được chú tâm Sự phát triển của nó ngày càng một đa dạng, nó được ứng dụng trong nhiều lĩnh vực như kinh
tế, giáo dục, góp phần vào sự phát triển của một xã hội tiên tiến Sự phát triển của nó ổi trước mọi ngành nghề khác Trong đó ngành học của nó là một ngành được giới trẻ quan tâm Một trong những ngành đang có xu hướng đi lên rất mạnh
Các môn học của nó đã nói lên một điều, xã hội không có ứng dụng công nghệ thông tin đó là một xã hội lạc hậu Nó đáp ứng mọi nhụ cầu của người tiêu dùng
^
Môn học “Cầu trúc đữ liệu” là một môn học nền tảng của ngành học Công Nghệ
Thông Tim Nó được ứng dụng thực tế trong mọi thời đại hiện nay
Là một ngành kĩ thuật, việc làm niên luận giúp cho sinh viên hiểu biết rõ
hơn, sâu hơn về lĩnh vực mà mình đang học Đề từ đó làm nền tảng cho việc phát triển sau này Vì vậy, khi được giao đề tài “Quán lý sinh viên” đã giúp chúng em
hiểu rõ hơn về danh sách liên kết Nó được xây dựng một cách rất khoa học và được ứng dụng rất nhiều trong thực tế hiện nay
Trang 3
CHUONG 1 CO SO LY THUYET VE NGON NGU LAP TRINH C++
1.1 Giới thiệu
C ++ là một ngôn ngữ lập trình được phát triển bởi Bjarne Stroustrup vào năm 1979 tai Bell Labs C ++ được coi là ngôn ngữ bậc trung (middle-level) như một phân mở rộng của ngôn ngữ lập trình C, hoặc “C với các lớp Class” vì nó bao gom sự ket hop của cả các tính năng của ngôn ngữ cấp cao và cap thâp
C ++ chạy trên nhiều nền tảng khác nhau, chẳng hạn như Windows, Mac OS
và các phiên bản khác nhau của UNIX
- Ngôn ngữ đã được mở rộng đáng kể theo thời gian và C ++ hiện nay có nhiêu tính năng như:
Lập trình tông quát
Lập trình hướng đối tượng
Lập trình thủ tục
Ngôn ngữ đa mẫu hình tự do có kiểu tĩnh
Dữ liệu trừu tượng
Lập trình đa hình
Tính phố biến: C++ là một trong những ngôn ngữ lập trình phố biến nhất trên thê giới
Tính thực thi nhanh: Nếu bạn đã sảnh sỏi về C++ thì bạn có thể lập trình rất
nhanh Một trong những mục tiêu của C*-t chính là khả năng thực thi Và nêu bạn cần thêm các tính năng cho chương trình, C++ cho phép bạn sử dụng ngôn ngữ Assembly (Hợp ngữ) - Ngôn ngữ lập trình bậc thấp nhất dùng để giao tiếp trực tiếp với phần cứng của máy tính
Thư viện day đủ: Có rất nhiều tài nguyên sử dụng cho người lập trình bằng C++, bao gồm ca dé hoa API, 2D, 3D, vat ly các thiết bị âm thanh hỗ trợ giúp cho
lập trình viên dễ đàng thực thị
Đa mô hình: C++ cũng cho phép bạn lập trình theo cầu trúc tuyến tính, hướng chức năng, hướng đôi tượng đa dạng tuy theo yêu cầu của người lập trình 1.2 Ung dụng ngôn ngữ lập trình C++
Games: Ngôn ngữ C-! cũng được sử dụng đề phát triển trò chơi Nó ghi dé
lên sự phức tạp của game 3D, giúp tối ưu hóa các nguôn tài nguyên, hỗ trợ tùy chọn cho nhiều người chơi với mạng Việc sử dụng C ++ cung cấp quyền kiểm soát phần cứng và cho phép lập trình thủ tục các chức năng chuyên sâu của CPU
Hoạt hình: Phần mềm hoạt hình được phát triển với sự hỗ trợ của ngôn ngữ
C ++ Phân mêm hoạt hình 3D, mô phỏng, mô hình hóa, kết xuât, v.v được coI là
bộ công cụ mạnh mẽ C++ được sử dụng nhiêu trong việc xây dựng những ứng
Trang 4
dụng thời gian thực, xử lý hình ảnh và cảm biến di động, hiệu ứng hình ảnh, mô hình hóa
Phần mềm này được sử dụng cho các hoạt ảnh, môi trường thực tế ảo, đồ
họa chuyên động và tạo nhân vật Thiết bị thực ảo đang rât phô biên nhat trong thê giới giải trí hiện nay, nó đem lại những trải nghiệm vô cùng chân thi va thu vi Ứng dụng: C++ được sử dụng để phát triển ứng dụng mới, các ứng dụng này dựa trên giao diện người dùng đồ họa và những ứng dụng được sử dụng nhiều chăng hạn như Adobe Photoshop
Nhiều ứng dụng của hệ thống Adobe đều được phát triển bằng C ++ như Adobe Launcher, Illustrator, va Image Ready
Trinh duyệt web: C ++ được sử dung để tạo ra Google Chrome và cả trình
duyệt Mozilla Firefox Một số ứng dụng được viết bằng C ++, trình duyệt Chrome
là một trong số đó, các ứng dụng khác giống như một hệ thông tệp, bản đồ giảm
xử lý dữ liệu cụm lớn
Mozilla cũng có một ứng dụng khác được viết bằng C ++, không đâu khác
chính là ứng dụng email khach Mozilla Thunderbird C ++ la mét céng cu két xuat các dự án nguồn mở cho Google và Mozilla
Trình biên dịch: Hầu như các trình biên dịch chủ yếu được viết bằng ngôn ngữ C ++ Các trình biên dịch mà được sử dụng đê biên dịch băng các ngôn ngữ như C #, Java, v.v cling duoc viet bang C ++
No cting được dùng dé phat triển các ngôn ngữ này và C ++ độc lập với nền tảng, nó có thể tạo ra nhiều loại phần mềm khác
Phần mềm cơ sở dữ liệu: Ngôn ngữ C+~+ cũng được sử dụng để phát triển phan mềm cơ sở dữ liệu và phần mềm cơ sở dữ liệu mã nguồn mở Một ví dụ điển hình đó là MySQL, đây là một trong những phần mềm quản lý cơ sở dữ liệu được
sử dụng rộng rãi trong các tô chức hoặc các nha phat trién, giúp tiết kiệm tiền bạc, thời gian, hệ thống kinh doanh và phần mềm đóng gói
Một số ứng dụng dựa trên phần mềm truy cập cơ sở dữ liệu được sử dụng như là Wikipedia, Youtube, Yahoo, v.v
Trang 5
Chương 2 : PHAN TICH VA THIET KE
2.1 M6 ta bai toan
Khai báo một struct lưu trữ thông tin sinh viên bao gồm : Mã sinh viên, họ
tên, năm sinh, giới tính, mã lớp, ngành học, khóa học, điểm môn 1, môn 2, môn 3,
điểm trung bình, xếp loại
Dùng danh sách liên kết đề lưu trữ thông tim của một sinh viên với cầu trúc
đã cho
Sử dụng menu với nhiều lựa chọn cho người dùng
2.2 Giải quyết bài toán
2.2.1 Phương pháp
Ta sử dụng phương pháp mô tả thông tin một sinh viên là một struct Giả sử mỗi struct của chương trình là một node trong danh sách liên kết, mỗi node gồm phần data lưu trữ thông tin sinh viên và phần link lưu trũ địa chi của phân tử kế tiếp hay phần tử trước đó Từ đó ta sử dụng phương pháp chèn thêm node, tìm node và xóa node
2.2.2 Lý thuyết
2.2.2.1 Định nghĩa về danh sách
Một danh sách (1ist) là một tập hợp gồm số hữu hạn phần tử cùng
kiểu, có thứ tự
Có hai cách cài đặt danh sách là :
+ Cài đặt theo kiêu kế tiếp : ta có danh sách kề hay danh sách đặt + Cài đặt theo kiểu liên kết : ta có danh sách liên kết
2.2.2.2 Định nghĩa về danh sách liên kết
Trang 6Các phần tử của danh sách gọi là node, nam rai rat trong b6 nhớ Mỗi node ngoài vùng dữ liệu thông thường còn có vùng liên kết chứa địa chỉ của node kế tiếp hay node trước đó
Mỗi node gồm hai phân :
+ Phần data, information : lưu trữ các thông tin về bản thân phần tử + Phần link hay con trỏ : lưu trũ địa chỉ của phần tử kế tiếp trong
danh sách, hoặc lưu trữ giá trị NULL nếu là phần tử cuối danh sách
Danh sách liên kết là cầu trúc dữ liệu động, có thể thêm hay hủy
node của danh sách trong khi chạy chương trình Với cách cài đặt các thao tác thêm hay hủy node ta chỉ cần thay đổi vùng liên kết lại cho phù hợp
Hình : ví dụ danh sách liên kết
Trang 7
2.3.1 Giới thiệu chương trình
Chương trình quản lý sinh viên gồm có các chức năng :
+Nhập danh sách sinh viên
+Hiền thị danh sách sinh viên
+Thêm thông tin l sinh viên
+Cập nhật thông tin l sinh viên
+Xóa thông tin | sinh vién
+Hién thị thông tin sinh viên có điểm trung bình cao nhất
+Hiễn thị thông tin sinh viên có điểm trung bình thấp nhất
Trang 8
+Tim sinh vien bang mssv
+Sắp xếp sinh viên theo mssv tăng dân
+ Sắp xếp sinh vién theo tén alphabet
+Thoát chương trình
Chương 3 : CHƯƠNG TRÌNH DEMO
Hướng dẫn sử dụng
Giao diện chính của chương trình
#Ñ Cadosnc++ quanlydnhvieag
I
I
I
li
I thong t
if t! ron) h vien co diem trung binh cao nhat
iT PCS ur amr me (a
II
in
I
i
Moi ban nh
*Nhắn phím 1 đề nhập sinh viên vào danh sách
- nhập vào 36 lượng sinh viên
-Chương trình xuất ra thông báo nhập thông tin sinh viên với MSSV, Mã Lớp, Họ
và tên, Giới tính (bắt buộc phải nhập nam hoặc nữ),điêm các môn tương ứng
Trang 9
Nhap
Nhap
oi
Nhap
Nhap
eee es
Nhap danh sach
Hien thả danh
thong tin 1 sinh vien
lì TK nh s6
Hien thi thong tỉn nhung sinh vien co dien trung bỉnh cao nhat
Hien thi thong tỉn nhung sinh vien co dien trung binh t' _
Tim sinh vien boi ma so sinh vi
Sap xep danh sach sinh vien theo ma so sinh vien tan:
theo ten aLphabet
a so sinh viei
theng tỉn sinh vien thu 1
ni 2
Lop:th27.61
p ho ten sinh vien: phung thi diem hang
TU,
diem mon quan tri co so du Lieu: 9
eee ee eC)
Nhan enter va chon Y dé tiếp tục, N để thoát
*Đề xem lại danh sách sinh viên, Nhắn phím 2
Rt ae
eC Tố 6 06 s7)
na
MS
lì ornr)
ND th Ge len =e diam trung bỉnh than nh: D TP ete Rd
sinh vien tang dan
a Ten Gioi Tinh
Tn
phang thi diem hang re
Nhan enter va chon Y dé tiếp tục, N để thoát
0iem TE
*Nhắn phím 3 để thêm I sinh viên vào danh sách
Trang
Trang 10io Ret eee Coed
diem trung dinh cao nhat diem trung binh thap nhat
st ma so sinh vien tang dan
Sap xep danh sach sinh vien theo ten aLphabet
Moi ban nhap tua chon: 3
Nhà theng tin sinh vien can then
Nhap 2
nguyen phueng 1L
DU CN CĨ)
Nhap diem men tap trính ++: 7
Nhap diem mon quan tri co so du Lieu: 8
xeet,power point: 6
any key to continue
Nhan enter va chon Y dé tiếp tục N đề thốt
*Nhan phím 4 để cập nhật thơng tin 1 sinh viên trong danh sách
-Nhập đúng mssv cần cập nhật thơng tin sau đĩ điền lại thơng tin
E417
anh sach sinh \
Tora r ud
tem thong tin 1 sinh
Cap nhat thong tin 1 sinh
Hien thi thong tin nhung sinh vien co diem trung binh cao nhat
Hien thi thong tin nhung sinh vien co diem trung binh thap nha
Tim sinh vien boi ma so sinh vien
ee Cee nh, "1x
cost CẬU MS DE
ed
Ban da nhap ma so sinh v
[3 any key to continue
sinh vien cua sinh vien can cap nhat: 3
ered
-Néu nhap sai MSSV an enter dé thốt ra và lựa chọn lại
Nhan enter va chon Y dé tiếp tục, N để thốt
Trang 11
*Nhan phim 5 dé x6a théng tin | sinh vién bat ky
-nhập đúng MSSV cần xóa nhân enter đề xóa
E] Cadeenc++.quanlyinhvie r
Ban co suon tua chon tiep khong(y/n):
FT TC QQẨNNNẢẢAAAA (4 eceterrtrertveteterterercercesesssy
thi danh s
ori sunt
ap nhat thong tỉn 1 sinh vien
xoa thong tin 3 sinh vien
n thi thong tin nhung sinh vien co diem trung binh cao nhat
Hien thi thong tin nhung sinh vien ca diem trung bình thạp nhat
L Sap + Ì ma so s ø sinh vien tang dan
xep danh sach sinh Ti
Hoi ban nhap tua chon: 5
h vien cua sinh vien can xoa: 1
-Nếu nhập sai chương trình sẽ hiển thị bạn đã nhập sai thông tin, dé quay lai Menu
nhân enter sau đó chọn Y nêu muôn nhập lại, N dé thoat CT
EÄ CAdoancs+ quanydnhdeng X + x
Ban cơ nuon Lua chon tiep khong(y/
vien co diem trung bỉnh cao nhat
vien co diem trung bình thap nhai
Tim sinh vien boi ma a
9 Sap xep danh sach sinh v sinh CỔ
danh sach sinh vien theo ten atpt
la
y key to cont
Nhan enter va chon Y dé tiếp tục, N để thoát
Trang 12
*Nhan phím 6 để in ra sinh viên có điểm trung bình cao nhất
E3 Cadoanc++ quanlysinhvicn g
CPU Cr chon tiep khong(y/n): y
eT TC ttt TTT TT ttt itt 00000000000 202120) 0 000000 0 0 0 000 0 (0 0 0 0 0 00T 0 (00 000 0Ô 0 Ô¡
Nhap danh sach sinh vien
Hien thi danh sach sinh vien
Them thong tỉn 1 sinh vien
Cap nhat thong tin 1 sinh vien
Umer
Hien thi thong tin nhung sinh vien co diem trung binh cao nhat
Hien thi thong tin nhung sinh vien co diem trung bỉnh thap nhat
so sinh vien
xep danh sach sinh vien theo ma so sinh vien tang dan
xep danh sach sinh vien theo ten aLphabet
Otrtrttttttttitittitrtrtrt rrr rte ertrtrtettttrttt tt ti trrr rte rier ror
Hoi ban nhap tua chon: 6
Thong tin nhui sinh vien co dien cao nhat:
ma lop Ho va Ten Gioi Ti Hoc
123 tle phung hang Lr) bộ
Press any key to continue
-Nhan phim 7 dé in ra sinh viên có điểm trung bình thấp nhất
Y1
uon tua chen tiep khong(y/n):
Nhap da
Hien thi danh
sinh vien
sinh vien
Xoa thong tin 1 sinh vien
Hien thi thong tin nhung sinh vien co dien trung bảnh cao nhạt
Hien thi thong tin nhung sinh vien co diem trung binh thap nhat
Ẻ so
Ù sinh vien ta
en aLphabet
Hoi ban nhap tua chon: 7
Thong tin nhưng sinh vien co dien thap nhat
` M en Gioi Tinh clr
Trung binh thø1 phung thi dien hang nu
tinue
Trang 13
Nhan enter va chon Y dé tiếp tục, N để thoát
*Nhan phim 8 dé tim sinh viên bằng MSSV
-Nhập đúng MSSV cần tìm sau đó CT sẽ hiển thị thong tin Sinh viên tương ứng
“nh”
diem trung binh cao nhat cree ae
oi ban nhap tua chon
nh vien can tin kiem
en Gioi Tỉnh Diem 1 Dien 2 tran minh dục oo L T
-Nếu nhập sai MSSV CT sẽ hiện như ảnh dưới đây
Trang 14
-bé nhập lại nhan enter chon Y dé quay lại menu sau đó lựa chọn và nhập lại
théng tin
Nhan enter va chon Y dé tiếp tục, N để thoát
*Nhan phim 9 dé sap xếp sinh viên theo MSSV tăng dân
*Nhan phim 10 dé sap xép sinh viên theo tén alphabet
*Nhan phim 0 dé thoat khéi Chuong trinh
Chương 4 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIÊN
4.1 Kết quả đạt được
Sau bảy tuần nghiên cứu và tìm hiểu đề tài, cùng với sự hướng dẫn tận tình của thầy cô và sự giúp đỡ của bạn bè Hôm nay, báo cáo cơ bản đã được hoàn
thành và đạt được một số kết quả như sau:
Hiểu và cài đặt được các thuật toán đã được học bằng ngôn ngữ C++, biết
cách sử dụng các thao tac sap xép, tim kiém va cac ham trong C++
Chuong trinh chay én định, giao diện thân thiện với người dùng vả dễ sử
dụng, có thể nhập dữ liệu trực tiếp từ bàn phím
Chương trình được thiết kế dưới dạng các chương trình con độc lập nhau nên
dễ dàng kiểm tra và sửa chữa khi yêu cầu chỉnh sửa
Chương trình sử dụng danh sách liên kết để lưu trữ thông tin sinh viên nên không hạn chế số lượng sinh viên khi nhập vào
4.2 Hạn chế của chương trình
Mặc dù có có gắng để hoàn thành, nhưng đây là lần đầu tiên viết một chương trình hoàn chỉnh nên vẫn còn thiếu nhiều kinh nghiệm trong kỹ thuật lập trình cũng
như trong cách tô chức dữ liệu Mặt khác, đo thời gian hạn chế nên chương trình vẫn
còn nhiêu sai xót ngoài ý muôn như: