Báo cáo đồ án C++ môn Công nghệ thông tin | Trường đại học kinh doanh và công nghệ Hà Nội

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áodụ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 . 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!

lOMoARcPSD| 45469857
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, đượ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 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 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.
lOMoARcPSD| 45469857
Chương 1: CƠ SỞ LÍ THUYT V NGÔN NG LP TRÌNH
C++
1.1 Lch s hình thành và phát trin
C++ là ngôn ngữ C++ là ngôn ngữ lập trình hướng đối tượng (OOP Object
Oriented Programming). Đây là ngôn ngữ được phát triển dựa trên nền tảng của
ngôn ngữ lập trình C. Do đó C++ mang trong mình 2 phong cách lập trình: hướng
cấu trúc giống C và phong cách hướng đối tượng. C++ có một lịch sử lâu đời, và
nó cũng được mở rộng và phát triển xuyên suốt lịch sử của nó.
Trước khi được ra mắt chính thức vào năm 1983 thì phiên bản đệm của C++
C with Classes đã được phát triển vào năm 1979 bởi Bjarne Stroustrup tại Bell
Labs. Vào năm 1985, ấn bản đầu tiên của Ngôn ngữ lập trình C++ cũng được xuất
bản thành sách. Thời gian sau đó, C++ tiếp tục cải thiện cho đến hiện nay.
C++ cũng chạy trên rất nhiều nền tảng khác nhau, dụ như: Windows, Mac
OS, và các phiên bản khác nhau của UNIX.
Ngôn ngữ hiện nay đã có rất nhiều tính năng như:
Lập trình tổng quát
Lập trình hướng đóio tượng
Lập trình thủ tc
Ngôn ngữ đa mẫu hình có kiểu tĩnh tự do
Dữ liệu trừu tượng
Lập trình đa hình
1.2. Đặc điểm ca ngôn ng C++
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: Lập trình C++ rất nhanh. Cho phép sử dung Assembly
(một ngôn ngữ lập trình bậc thấp dùng để 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 sử dụng cho lập trình viên bằng
C++ bao gồm cả đồ họa API, 2D, 3D,….
Đa mô hình: C++ cũng cho phép người lập trình lập trình theo cấu trúc truyền
tính, ớng chức năng, hướng đối tượng đa dạng tùy theo ý muốn của người lập trình
1.3. ng dng của ngôn ngư lập trình C ++
Lập trình Games: Games đòi hỏi tốc độ xử nhanh và chính xác trong thao
tác giao tiếp với máy.Vì vậy C++ thường xuyên được sử dụng để phát triển trò
chơi. Nó ghi đè lên độ 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ợ y chn cho nhiều người chơi với mạng. Việc sử dụng ngôn 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.
lOMoARcPSD| 45469857
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
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.
Ứ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 dng đượ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, và Image Ready.
Trình duyệt web: C ++ được sử dụng để 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 khách Mozilla Thunderbird. C ++ là một công c kết xuất
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. cũng được viết bằng C ++.
Nó cũng được dùng để phát 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 mm cơ sở dữ liệu: Ngôn ngữ C++ cũng được sử dụng để phát triển
phần mềm cơ sở dữ liệu và phần mm 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 nhà phát 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 dng 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.
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 : Mã số, họ tên, năm
sinh, giới tính, địa chỉ, mã lớp, ngành học, điểm GPA, học lực.
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.
lOMoARcPSD| 45469857
Sử dụng menu với nhiều lựa chọn cho người dùng.
2.2 . Gii 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ử mi 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 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,
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.
lOMoARcPSD| 45469857
Hình : ví dụ danh sách liên kết
lOMoARcPSD| 45469857
2.3 . Thiết kế
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 tên và sắp xếp theo điểm trung
bình theo giải thuật Interchange Sort .
+ 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ừ mã số sinh viên.
+ Xóa sinh viên ra khỏi danh sách gồm : xóa sinh viên theo MSSV
+ Tìm kiếm thông tin sinh viên gồm : tìm kiếm theo MSSV
+ Thống gm : thống theo giới tính, thống theo kết quả đậu
rớt, 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.
lOMoARcPSD| 45469857
+ Thoát khỏi chương trình.
2.4 Lưu đồ
2.4.1
Nhp và thêm mi sinh viên
2.4.2
Hin th sinh viên
Bt đu
Nhp thông 琀椀 n
Lưu thông 琀椀 n vào danh sách
Dng
Bt đu
Downloaded by Hà Anh (vjt987@gmail.com)
2.4.3 Tìm kiếm sinh viên
2.4.4 Chnh sa thông tin sinh viên
Hin th danh sách
Dng
lOMoARcPSD| 45469857
Bt đu
Duyt danh sách
Tìm thy
Hin th thông 琀椀 n
Không y
Dng
Bt đu
Nhp mã s sinh vien
Duyt danh sách
Tìm thy
Nhp thông 琀椀 n cn
thay đổi
Không y
Cp nht vào danh sách
Dng
lOMoARcPSD| 45469857
Bt đu
Duyt danh sách
So sánh
th t
Downloaded by Hà Anh (vjt987@gmail.com)
2.4.5 Sắp xếp sinh
viên
Dng
Hoán v
lOMoARcPSD| 45469857
2.4.6
Xóa thông tin sinh viên
Bt đu
Đọc thông 琀椀 n
Duyt danh sách
Tìm thy
Dn
g
Xóa
lOMoARcPSD| 45469857
Downloaded by Hà Anh (vjt987@gmail.com)
2.4.7 Thng kê danh sách sinh viên
Chương 3: CHƯƠNG TRÌNH DEMO o Giao
diện chính của chương trình:
o Thao tác với các chức năng của chương trình:
Tăng biến đếm
Hin th
Bt đu
Duyt danh sách
So sánh
Dng
lOMoARcPSD| 45469857
Downloaded by Hà Anh (vjt987@gmail.com)
Nhấn phím 1 để nhập thông tin của sinh viên vào danh sách
Chương trình sẽ yêu cầu bạn nhập vào các thông tin của sinh viên như H
tên, ngày tháng năm sinh, giới tính, địa chỉ, mã số lớp….
Để xem lại danh sách ấn pm 2:
lOMoARcPSD| 45469857
Downloaded by Hà Anh (vjt987@gmail.com)
Màn hình sẽ hiển thị danh sách các sinh viên mà bạn đã nhập vào
Nếu muốn thêm sinh viên vào danh sách có thể nhấn phím 1 hoặc 3 tại menu
và nhập thông tin theo yêu cầu
Khi muốn chỉnh sửa thông tin ấn phím 4, nhập mã sinh viên cần sửa thông
Chọn thông tin cần sửa và nhập thông tin mới
Sau đó màn hình sẽ in ra “Da sua!” nếu bạn sửa thành công
Tương tự như vậy với các chức năng khác của menu bạn cũng chỉ cần thao
tác theo yêu cầu in ra trên màn hình. Chúc thành công!
tin
lOMoARcPSD| 45469857
Downloaded by Hà Anh (vjt987@gmail.com)
Chương 4 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIN
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ự ớng dẫn tận tình của thầy
sự giúp đỡ của bạn bè. m nay, báo cáo bản đã được hoàn thành đạt được
một số kết quả như sau:
Hiểu 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 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.1. Hạn chế của chương trình
Mặ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ộ nhmỗi node
ngoài chứa vùng dữ liệu thông thường n 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 dữ liệu khi người dùng nhập vào như số sinh viên, m sinh,
khóa học, đ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.2 Hướng phát trin
Thiết kế giao diện thân thiện với người sử dụng.
Cải tiến chương trình đầy đủ và hoàn thiện hơn.
lOMoARcPSD| 45469857
Downloaded by Hà Anh (vjt987@gmail.com)
Phát triển chương trình sang các ngôn ngữ khác như C#, visual Basic, Java,…để được
hỗ trợ đầy đủ hơn.
4.3 Tài liu tham kho
- Giáo trình cấu trúc dữ liệu và giải thuật, C++
- Ngôn ngữ lập trình C Quách Tuấn Ngọc. Nhà xuất bản giáo dục.
- Kỹ thuật lập trình C cơ sở và nâng cao Phạm Văn Ất. NXB KH – KT.
- Giáo trình lập trình C ( Tập 1 & 2 ) Trần Đan Thư. NXB ĐH QG TPHCM.
| 1/14

Preview text:

lOMoAR cPSD| 45469857 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 nhu cầu của người tiêu dùng. lOMoAR cPSD| 45469857
Chương 1: CƠ SỞ LÍ THUYẾT VỀ NGÔN NGỮ LẬP TRÌNH C++
1.1 Lịch sử hình thành và phát triển
C++ là ngôn ngữ C++ là ngôn ngữ lập trình hướng đối tượng (OOP – Object
– Oriented Programming). Đây là ngôn ngữ được phát triển dựa trên nền tảng của
ngôn ngữ lập trình C. Do đó C++ mang trong mình 2 phong cách lập trình: hướng
cấu trúc giống C và phong cách hướng đối tượng. C++ có một lịch sử lâu đời, và
nó cũng được mở rộng và phát triển xuyên suốt lịch sử của nó.
Trước khi được ra mắt chính thức vào năm 1983 thì phiên bản đệm của C++
C with Classes đã được phát triển vào năm 1979 bởi Bjarne Stroustrup tại Bell
Labs. Vào năm 1985, ấn bản đầu tiên của Ngôn ngữ lập trình C++ cũng được xuất
bản thành sách. Thời gian sau đó, C++ tiếp tục cải thiện cho đến hiện nay.
C++ cũng chạy trên rất nhiều nền tảng khác nhau, ví dụ như: Windows, Mac
OS, và các phiên bản khác nhau của UNIX.
Ngôn ngữ hiện nay đã có rất nhiều tính năng như: Lập trình tổng quát
Lập trình hướng đóio tượng Lập trình thủ tục
Ngôn ngữ đa mẫu hình có kiểu tĩnh tự do Dữ liệu trừu tượng Lập trình đa hình
1.2. Đặc điểm của ngôn ngữ C++
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: Lập trình C++ rất nhanh. Cho phép sử dung Assembly
(một ngôn ngữ lập trình bậc thấp dùng để 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 sử dụng cho lập trình viên bằng
C++ bao gồm cả đồ họa API, 2D, 3D,….
Đa mô hình: C++ cũng cho phép người lập trình lập trình theo cấu trúc truyền
tính, hướng chức năng, hướng đối tượng đa dạng tùy theo ý muốn của người lập trình
1.3. Ứng dụng của ngôn ngư lập trình C ++
Lập trình Games: Games đòi hỏi tốc độ xử lí nhanh và chính xác trong thao
tác giao tiếp với máy.Vì vậy C++ thường xuyên được sử dụng để phát triển trò
chơi. Nó ghi đè lên độ 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 ngôn 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. lOMoAR cPSD| 45469857
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
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.
Ứ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, và Image Ready.
Trình duyệt web: C ++ được sử dụng để 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 khách Mozilla Thunderbird. C ++ là một công cụ kết xuất
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. cũng được viết bằng C ++.
Nó cũng được dùng để phát 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
phần 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 nhà phát 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.
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 : Mã số, họ tên, năm
sinh, giới tính, địa chỉ, mã lớp, ngành học, điểm GPA, học lực.
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. lOMoAR cPSD| 45469857
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 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. lOMoAR cPSD| 45469857
Hình : ví dụ danh sách liên kết lOMoAR cPSD| 45469857 2.3 . Thiết kế
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 tên và sắp xếp theo điểm trung
bình theo giải thuật Interchange Sort .
+ 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ừ mã số sinh viên.
+ Xóa sinh viên ra khỏi danh sách gồm : xóa sinh viên theo MSSV
+ Tìm kiếm thông tin sinh viên gồm : tìm kiếm theo MSSV
+ Thống kê gồm : thống kê theo giới tính, thống kê theo kết quả đậu
rớt, 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. lOMoAR cPSD| 45469857
+ Thoát khỏi chương trình. 2.4 Lưu đồ
2.4.1 Nhập và thêm mới sinh viên Bắt đầu Nhập thông 琀椀 n
Lưu thông 琀椀 n vào danh sách Dừng 2.4.2 Hiển thị sinh viên Bắt đẩu lOMoAR cPSD| 45469857 lOMoAR cPSD| 45469857 Đọc thông 琀椀 n Nhập mã số sinh vien Hiển thị danh sách Bắt đầu Duyệt danh sách Dừng Đọc thông 琀椀 n Tìm thấy Duyệt danh sách Nhập thông 琀椀 n cần Tìm thấy Không 琀 ấy thay đổi Hiển thị thông 琀椀 n Cập nhật vào danh sách Không 琀 ấy Dừng Dừng 2.4.3 Tìm kiếm sinh viên
2.4.4 Chỉnh sửa thông tin sinh viên Bắt đầu Đọc thông 琀椀 n Duyệt danh sách Downloaded by Hà An So h (vjt9 sánh8 7@gmail.com) B th ắ ứ t đ tựầ u lOMoAR cPSD| 45469857 Hoán vị 2.4.5 Sắp xếp sinh viên Dừng
2.4.6 Xóa thông tin sinh viên Bắt đầu Đọc thông 琀椀 n Duyệt danh sách Tìm thấy Xóa Dừn g
Downloaded by Hà Anh (vjt987@gmail.com) lOMoAR cPSD| 45469857
2.4.7 Thống kê danh sách sinh viên Bắt đầu Duyệt danh sách So sánh Tăng biến đếm Hiển thị Dừng
Chương 3: CHƯƠNG TRÌNH DEMO o Giao
diện chính của chương trình:
o Thao tác với các chức năng của chương trình:
Downloaded by Hà Anh (vjt987@gmail.com) lOMoAR cPSD| 45469857
Nhấn phím 1 để nhập thông tin của sinh viên vào danh sách
Chương trình sẽ yêu cầu bạn nhập vào các thông tin của sinh viên như Họ
tên, ngày tháng năm sinh, giới tính, địa chỉ, mã số lớp….
Để xem lại danh sách ấn phím 2:
Downloaded by Hà Anh (vjt987@gmail.com) lOMoAR cPSD| 45469857
Màn hình sẽ hiển thị danh sách các sinh viên mà bạn đã nhập vào
Nếu muốn thêm sinh viên vào danh sách có thể nhấn phím 1 hoặc 3 tại menu
và nhập thông tin theo yêu cầu
Khi muốn chỉnh sửa thông tin ấn phím 4, nhập mã sinh viên cần sửa thông
Chọn thông tin cần sửa và nhập thông tin mới
Sau đó màn hình sẽ in ra “Da sua!” nếu bạn sửa thành công
Tương tự như vậy với các chức năng khác của menu bạn cũng chỉ cần thao
tác theo yêu cầu in ra trên màn hình. Chúc thành công! tin
Downloaded by Hà Anh (vjt987@gmail.com) lOMoAR cPSD| 45469857
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 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.1. 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 dữ liệu khi người dùng nhập vào như mã số sinh viên, năm sinh,
khóa học, đ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.2 Hướng phát triển
Thiết kế giao diện thân thiện với người sử dụng.
Cải tiến chương trình đầy đủ và hoàn thiện hơn.
Downloaded by Hà Anh (vjt987@gmail.com) lOMoAR cPSD| 45469857
Phát triển chương trình sang các ngôn ngữ khác như C#, visual Basic, Java,…để được hỗ trợ đầy đủ hơn. 4.3 Tài liệu tham khảo
- Giáo trình cấu trúc dữ liệu và giải thuật, C++
- Ngôn ngữ lập trình C – Quách Tuấn Ngọc. Nhà xuất bản giáo dục.
- Kỹ thuật lập trình C cơ sở và nâng cao – Phạm Văn Ất. NXB KH – KT.
- Giáo trình lập trình C ( Tập 1 & 2 ) – Trần Đan Thư. NXB ĐH QG TPHCM.
Downloaded by Hà Anh (vjt987@gmail.com)