Đồ án quản trị C++ môn Công nghệ thông tin | Trường Đại học Kinh doanh và Công nghệ Hà Nội
Trong thời đại công nghệ 4.0. Công nghệ thông tin có mặt ở khắpmọi nơi, hiện diện trong mọi lĩnh vực của đời sống xã hội. Đây là ngành luôn được đầu tư và chú trọng phát triển ở mọi Quốc Gia. Việt Nam cũng không nằm ngoài xu thế ấy để có thể phát triển trong khu vực và trên thế giới.Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời đọc đón xem!
Môn: Công nghệ thông tin (HUBT)
Trường: Đại học Kinh Doanh và Công Nghệ Hà Nội
Thông tin:
Tác giả:
Preview text:
lOMoAR cPSD| 47270246
BÁO CÁO ĐỒ ÁN C++ MỞ ĐẦU
Trong thời đại công nghệ 4.0. Công nghệ thông tin có mặt ở khắp mọi nơi, hiện diện
trong mọi lĩnh vực của đời sống xã hội. Đây là ngành luôn được đầu tư và chú trọng phát
triển ở mọi Quốc Gia. Việt Nam cũng không nằm ngoài xu thế ấy để có thể phát triển
trong khu vực và trên thế giới. 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 nhu cầu của người
tiêu dùng. Môn học “Cấu trúc dữ liệu” là một môn học nền tảng của ngành học Công
Nghệ Thông Tin. Nó được ứng dụng thực tế trong mọi thời đại hiện nay.
Là một nhánh ngành kỹ thuật, việc làm đồ án giúp cho sinh viên hiểu rõ hơn, sâu hơn
, tự tin hơn với đam mê trong ngành lập trình. 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, chương trình sử dụng mảng.
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. lOMoAR cPSD| 47270246
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT VỀ NGÔN NGỮ LẬP TRÌNH C++
1.1 Giới thiệu về C ++
C++ là một loại ngôn ngữ lập trình bậc trung (middle-level). Đây là ngôn ngữ lập
trình đa năng được tạo ra bởi Bjarne Stroustrup vào năm 1979 tại Bell Labs. Từ thập
niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại ưu thích và phổ biến
của lập trình viên vì nó có các tính chất ủa cả ngôn ngữ lập trình cấp thấp(Pascal,C,..)
ngôn ngữ và lập trình bậc cao(C#, Java, Python…). Ngôn ngữ lập trình C++ có đuôi mở rộng là .cpp
Cú pháp của C++ rất dễ hiểu và khá giống tiếng anh. Ta thậm chí có thể dùng C++
để thiết kế những ứng dụng dù trước đó đã được viết bằng hợp ngữ. C++ còn được hỗ
trợ trên bất kỳ các nền tảng , hệ điều hành nào. Ta có thể viết một chương trình C++ trên
Linux, biên dịch nó trên trên Windows và chạy trên Mac OS.
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,..
1.2 Điểm mạnh của ngôn ngữ C +
Nói đến C++ thì ta không thể không nhắc đến những điểm mạnh của nó dưới đây:
- 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. lOMoAR cPSD| 47270246
- Tính thực thi nhanh: nếu bạn rành C++ thì bạn có thể lập trình nhanh. Một trong
những mục tiêu của C++ là khả năng thực thi. Và nếu bạn cần thêm tính năng cho
chương trình, C++ cho phép bạn dùng ngôn ngữ Assembly (hợp ngữ) – Ngôn ngữ lập
trình bậc nhất – để giao tiếp trực tiếp với phần cứng của máy tính.
- Thư viện đầy đủ: có rất nhiều tài nguyên cho người lập trình C++, bao gồm cả đồ
họa API,2D,3D, vật lý các thiết bị âm thanh hỗ trợ giúp cho lập trình viên dễ dàng thực thi.
- Đa mô hình: C++ cho phép bạn lập trình theo cấu trúc thuyết tính, hướng chức
năng, hướng đối tượng đa dạng tùy theo yêu cầu của người lập trình.
1.3 Ứng Dụng Của Ngôn Ngữ C ++
Các dự án yêu cầu hiệu năng cao, tiếp kiệm bộ nhớ thì C++ là một lựa chọn tuyệt
vời. Đồng thời, C++ vẫn có tính chất hướng đối tượng giúp dễ dàng bảo trì và nâng cấp.
Tuy nhiên, so với các ngôn ngữ lập trình cấp cao thì C++ khó sử dụng hơn nhiều. Do đó,
dự án mà không yêu cầu hiệu năng, sử dụng các ngôn ngữ lập trình bậc cao sẽ đơn giản
hơn mà vẫn đáp ứng được yêu cầu.
Sau đây là các ứng dụng thực tế sử dụng C++:
- Games : C++ là sự lựa chọn tốt nhất để phát triển các nền tảng game 3D. Cho
phép tối ưu hóa việc quản lý tài nguyên và mượt mà trong nền tảng nhiều người chơi lOMoAR cPSD| 47270246
trên cùng mạng – multi-player. C++ cho phép can thiệp sâu vào CPU cũng như phần
cứng. Đó cũng là yếu tố quan trọng trong việc phát triển các game engines.
- Ứng dụng có giao diện người dùng(GUI) : có rất nhiều ứng dụng giao diện mà
phía sau nó được viết bằng C++. Một số ứng dụng phổ biến có thể kể tới là: Image ready,
adobe premier, photoshop và IIIustrator.
- Trình duyệt web: tốc độ và độ tin cậy là yếu tố phải có với các trình duyệt web. Khi
đó, C++ sẽ là ngôn ngữ được ưu tiên sử dụng. Một phần của trình duyệt google chrome
và một số web browsers mã nguồn như Moliza Firefox, ứng dụng email Mozilla
Thunderbird có sự đóng góp của ngôn ngữ C++.
- Ứng dụng toán và đồ họa: ngôn ngữ C++ cho phép và triển khai các ứng dụng đòi
hỏi yếu tố thời gian thực. Chẳng hạn như các ứng dụng mô phỏng 3D, xử lý hình ảnh
hiệu năng cao hay các ứng dụng cảm biến trên thiết bị di động. Hay các ứng dụng cảm
biến trên thiết bị di động. Hay các ứng dụng xử lý, mô phỏng 3D, hiệu ứng và hoạt ảnh
đều được xây dựng bằng C++.
- Phần mềm quản trị cơ sở dữ liệu: C và C++ được sử dụng cho hệ quản trị cơ sở
dữ liệu MySQL. Đây là một trong các hệ quản trị cơ sở dữ liệu phổ biến nhất. Nó là xương
sống cho nhiều phần mềm của các doanh nghiệp lớn như Google, Yahoo, Youtube, Wikipedia,…
- Hệ điều hành: C++ là một phần không thể thiếu trong hệ điều hành phổ biến như lOMoAR cPSD| 47270246 Apple OSX và MS windows.
- Phần mềm doanh nghiệp: C++ thường được sử dụng trong các ứng dụng lớn của
các doanh nghiệp. Nơi mà yêu tố hiệu năng và tốc độ luôn được đặt lên hàng đầu.
- Trình biên dịch: Một loạt các trình biên dịch bao gồm Apple C++, Bloodshed Dev-
C++, Clang C++ và MINGW make đều sử dụng ngôn ngữ lập trình C++. Không chỉ vậy,
C và C++ còn là ngôn ngữ nền tảng hỗ trợ xây dựng các ngôn ngữ lập trình mới như C#, Java, PHP, Verilog,..
Một số ứng dụng dựa trên phần mền truy cập cơ sở dữ liệu được sử dụng như là Wikipedia, Youtube, Yahoo,…
CHƯƠNG 2. Phân tích và thiết kế.
2.1 Mô tả bài toán
Khai báo một struct lưu trữ thông tin sinh viên bao gồm : ID, họ tên, năm sinh, giới
tính, địa chỉ, 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, kết quả, xếp loại.
Dùng danh sách liên kết để lưu trữ thông tin 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. lOMoAR cPSD| 47270246
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 chỉ 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 (list) 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
Các phần tử của danh sách gọi là node, nằm rải rát trong bộ 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. X Z Y lOMoAR cPSD| 47270246 B A
Hình : ví dụ danh sách liên kêết 2.3 Ứng Dụng 2.3.1 Lưu đồ
- Lưu đồ nhập mới sinh viên Bắt đầu Nhập thông tin
Lưu thông tin vào danh sách Dừng lOMoAR cPSD| 47270246
- Lưu đồ hiển thị thông tin - Bắt đẩu Đọc thông tin Hiển thị danh sách Dừng Lưu đồ tìm kiếm : lOMoAR cPSD| 47270246 Duyệt danh sách So sánh Bắt đầu thứ tự Đọc thông tin Hoán vị đúng Duyệt danh sách đúng D ừ n g sai Tìm thấy Hiển thị thông tin Không tìm thấy Dừng - Lưu đồ sắp xếp sai Bắt đầu Đọc thông tin lOMoAR cPSD| 47270246 - Lưu đồ xóa sinh viên Bắt đầu Đọc thông tin Duyệt danh sách Tìm thấy lOMoAR cPS D|47270246 Xóa D ừ n g sai Đúng
- Lưu đồ chỉnh sửa thông tin sinh viên Bắt đầu Nhập mã số sinh viên Duyệt danh sách
Downloaded by Tran Anh (trananh1406@gmail.com) Tìm thấy lOMoAR cPSD| 47270246 Nhập thông tin Không tìm thấy cần thay đổi Đúng Sai Cập nhật vào danh sách Dừng
2.3.2 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 mới một sinh viên + Xem danh sách sinh viên
+ Sắp xếp danh sách : sắp xếp theo id sinh viên, sắp xếp theo tên .
+ Thay đổi thông tin một sinh viên : thay đổi tất cả các trường của sinh viên ngoại trừ id sinh viên.
+ Xóa sinh viên ra khỏi danh sách gồm : xóa sinh viên theo id .
+ Tìm kiếm thông tin sinh viên gồm : tìm kiếm theo id , tìm kiếm theo tên sinh
viên, tìm kiếm theo địa chỉ .
+ Thống kê gồm : thống kê theo giới tính, thống kê theo kết quả , thống kê theo
mã lớp, thống kê theo địa chỉ và thống kê theo xếp loại học lực.
+ Chức năng lưu dữ liệu ta có thể ghi mới hoặc ghi đè lên file đã có sẵn.
+ Chức năng mở file đã có sẵn.
+ Thoát khỏi chương trình.
CHƯƠNG 3. CHƯƠNG TRÌNH CHẠY THỬ. Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
3.1 - Giao diện của chương trình.
Đây là giao diện chính của chương trình khi chúng ta khởi tạo chương trình Quản Lý Sinh Viên.
Ở giao diện chính chúng ta có 10 sự lựa chọn để thực hiện mục đích của bài. Nếu
muốn thêm sinh viên thì chọn phím 1.Thêm sinh viên.
Đầu tiên chương trình yêu cầu bạn nhập vào số 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 id, năm sinh kiểu int. Họ dệm, tên, giới tính,
địa chỉ , lớp, ngành học, khoa và học lực kiểu chuỗi ký tự char. Điểm triết, điểm tin1 ,
điểm HA và điểm trung bình sử dụng float.
Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
Để cập nhập thông tin của sinh viên bởi id, nhấn phím 2
Ở đây chúng ta nhập id sinh viên cần thay đổi. Chương trình sẽ hiển thị thông tin
sinh viên như họ tên, giới tính, năm sinh và điểm của 3 môn học,.. để bạn thay đổi lại
những thông tin cần thiết.
Để xóa sinh viên bởi id , chọn phím 3. Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
Ở đây chúng ta chỉ cần nhập id sinh viên cần xóa và chương trình sẽ tự động xóa.
Dưới đây là ví dụ xóa sinh viên với id 215.
Để tìm kiếm sinh viên theo tên , chọn phím 4
Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
Ví dụ dưới đây là tìm kiếm theo tên với sinh viên là Hieu.
Để sắp xếp sinh theo điểm trung bình , chọn phím 5.
Ta được giao diện như dưới và được sắp xếp theo thứ tự tăng dần . Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
Để sắp xếp sinh viên theo tên , chọn phím 6 Ta
được giao diện như sau:
Để xem lại danh sách sinh viên mà chúng ta vừa nhập và chỉnh sửa , chọn phím 7.
Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
Đây là giao diện toàn bộ danh sách sinh viên mà chúng ta đã nhập và chỉnh sửa.
Muốn thống kê sinh viên thì chúng ta có thể thống kê theo tên, lớp, địa
chỉ, học lực,…dưới đây là ví dụ cho thống kê theo tên sinh viên, ta chọn phím 8.
Nhập tên sinh viên là Ly chúng ta thấy có 2 sinh viên .
Để ghi danh sách sinh viên vào file đã có sẵn ta chọn phím 9.
Chúng ta sẽ nhận được kết quả như sau: Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
Sau khi đã hoàn tất các chứng năng của chương trình Quản Lý Sinh
Viên ta chọn phím 0 để thoát chương trình:
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:
Downloaded by Tran Anh (trananh1406@gmail.com) lOMoAR cPSD| 47270246
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 tác sắp xếp, tìm kiếm… và các hàm trong C++.
Chương trình chạy ổ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, do 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ư:
Khi dùng danh sách liên kết để lưu trữ thông tin sinh viên sẽ tốn bộ nhớ vì mỗi node
ngoài chứa 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 đó.
Chưa kiểm tra được mã số sinh viên đã tồn tại trong danh sách.
Chưa kiểm tra được dữ liệu khi người dùng nhập vào như id, năm sinh, điểm nếu nhập
kí tự thì chương trình sẽ chạy không đúng và có thể bị treo máy.
Có thể giao diện còn chưa đáp đầy đủ các chức năng người sử dụng yêu cầu.
4.3 Hướng phát triển.
Thiết kế giao diện thân thiện với người sử dụng. Downloaded by Tran Anh (trananh1406@gmail.com)