1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án quản lý sinh viên c++

23 79 1

Đ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

Tiêu đề Đồ án Quản Lý Sinh Viên C++
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Khoa Học Máy Tính
Thể loại Đề án tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 7,19 MB

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

Nội dung

Đồ án quản lý sinh viên bằng C++ là một ứng dụng console hoặc giao diện dòng lệnh được xây dựng để quản lý thông tin về sinh viên trong một hệ thống. Đây là một ví dụ cơ bản về cách bạn có thể thiết kế đồ án này: Chức năng cơ bản: 1. Thêm sinh viên: Cho phép người dùng nhập thông tin về một sinh viên mới, bao gồm tên, mã số sinh viên, ngày tháng năm sinh, điểm trung bình, v.v. Thông tin này sau đó sẽ được lưu trữ trong cơ sở dữ liệu (thường là một danh sách mảng hoặc danh sách liên kết). 2. Xem danh sách sinh viên: Hiển thị danh sách tất cả các sinh viên trong cơ sở dữ liệu. Điều này có thể là một danh sách đơn giản hoặc được trình bày một cách trực quan hơn, ví dụ: mã số tên ngày sinh điểm trung bình. 3. Tìm kiếm sinh viên: Cho phép người dùng tìm kiếm sinh viên bằng cách nhập vào mã số sinh viên hoặc tên. Khi tìm thấy, thông tin về sinh viên sẽ được hiển thị. 4. Sửa đổi thông tin sinh viên: Cho phép người dùng cập nhật thông tin về sinh viên, chẳng hạn như điểm trung bình, ngày sinh, v.v. 5. Xóa sinh viên: Cho phép người dùng xóa thông tin về một sinh viên khỏi cơ sở dữ liệu. Cấu trúc chương trình: 1. Main Menu: Giao diện chính khi chương trình khởi đầu, cho phép người dùng chọn các chức năng khác nhau. 2. Lớp SinhVien: Định nghĩa một lớp để đại diện cho thông tin của một sinh viên. Lớp này sẽ chứa các thuộc tính như tên, mã số, ngày sinh, điểm trung bình, v.v. Nó cũng có thể bao gồm các phương thức để đặt và lấy thông tin. 3. Lớp QuanLySinhVien: Đây là lớp chứa các chức năng quản lý danh sách sinh viên. Lớp này có thể chứa một danh sách các đối tượng SinhVien và các phương thức để thêm, xem, tìm kiếm, sửa đổi và xóa sinh viên trong danh sách. 4. Hàm main(): Đây là nơi chương trình bắt đầu thực thi. Trong hàm này, bạn sẽ tạo một đối tượng của lớp QuanLySinhVien và thực hiện gọi các phương thức tương ứng dựa trên lựa chọn của người dùng từ Main Menu.

Trang 1

Mục LụcPhần 1: Giới thiệu qua về ngôn ngữ lập trình C++

1.Nếu học C++, dưới đây là một số bước có thể giúp bắt đầu……… 2.Các một số thông tin chi tiết hơn về những kiến thức cơ bản của C++ mà bạn có thể quan tâm………

3.Trong C++, có nhiều kiểu dữ liệu khác nhau để lưu trữ các giá trị khác nhau………

5.Các cấu trúc trong c++

6.Một số ứng dụng có thể lập trình c++

Phần 2: Các chức năng của chương trình

Phần 3: Giao diện và chức năng sử dụng của chương trình

Trang 2

Phần 1: Giới thiệu qua về ngôn ngữ lập trình C++

C++ là một ngôn ngữ lập trình hướng đối tượng, mở rộng từ ngôn ngữ C và có các tính năng như đa kế thừa, đa hình, kế thừa, quản lý bộ nhớ động, và hỗ trợ xử lý ngoại lệ Nó là một trong những ngôn ngữ lập trình phổ biến nhất và được sử dụng rộng rãi trong các lĩnh vực như phát triển game, phát triển ứng dụng di động, phát triển web và các lĩnh vực khác

Để bắt đầu học C++, bạn nên tìm hiểu các kiến thức cơ bản của ngôn ngữ như cú pháp, kiểu dữ liệu, biến, hàm, lớp, đối tượng, và các khái niệm khác trong lập trình hướng đối tượng Bạn cũng nên học cách sử dụng các công cụ phát triển như trình biên dịch, trình gỡ lỗi và IDE để phát triển ứng dụng C++ của mình.Nếu bạn mới bắt đầu học C++, có thể nên bắt đầu với các tài liệu trực tuyến miễn phí như sách trực tuyến, các khóa học trực tuyến, và các trang web cung cấp tài liệu và hướng dẫn học C++ Bạn cũng có thể tham gia cộng đồng lập trình viên C++

để học hỏi và chia sẻ kiến thức với những người khác

C++ là một ngôn ngữ lập trình đa năng, có thể được sử dụng trong nhiều ứng dụng khác nhau

Trang 3

Phát triển phần mềm máy tính: C++ được sử dụng để phát triển các ứng dụng máy tính như trình duyệt web, ứng dụng văn phòng, trò chơi, và các phần mềm khác.

Phát triển ứng dụng di động: C++ được sử dụng để phát triển ứng dụng di động cho các hệ điều hành Android và iOS

Phát triển phần mềm nhúng: C++ được sử dụng để phát triển các phần mềm nhúng, như các thiết bị điện tử, điều khiển tàu, máy bay, v.v

Phát triển phần mềm trí tuệ nhân tạo: C++ được sử dụng để phát triển các thư viện và khung công cụ trí tuệ nhân tạo, như OpenCV, TensorFlow, và Caffe

Phát triển phần mềm hệ thống: C++ được sử dụng để phát triển các phần mềm hệthống như hệ điều hành, trình điều khiển và các phần mềm như máy chủ

Phát triển trò chơi: C++ là một trong những ngôn ngữ lập trình phổ biến nhất trong lĩnh vực phát triển trò chơi, vì nó cho phép tạo ra các trò chơi với đồ họa đẹp và hiệu suất cao

C++ là một ngôn ngữ lập trình đa năng có thể được sử dụng trong nhiều ứng dụngkhác nhau, bao gồm phát triển phần mềm máy tính, ứng dụng di động, phần mềmnhúng, trí tuệ nhân tạo, phần mềm hệ thống, và phát triển trò chơi

1.Nếu học C++, dưới đây là một số bước có thể giúp bắt đầu:

Tìm hiểu về cú pháp C++: Cú pháp là cách mà bạn viết code trong C++ Nên tìm hiểu các khái niệm cơ bản của C++, chẳng hạn như biến, hàm, lệnh điều khiển, mảng, v.v

Học về hướng đối tượng: C++ là một ngôn ngữ hướng đối tượng Vì vậy, bạn cần hiểu cách làm việc với các đối tượng trong C++ và các khái niệm quan trọng như lớp, kế thừa, đa hình, và trừu tượng

Chọn một số tài liệu học tập: Bạn có thể tìm kiếm các tài liệu trên mạng để học C++ Các tài liệu có thể là sách, bài viết trên trang web, video hướng dẫn trên

YouTube, khóa học trực tuyến, v.v

Trang 4

Lập trình thực tế: Sau khi đã hiểu cú pháp và hướng đối tượng của C++, bạn có thể bắt đầu viết các chương trình C++ đơn giản để áp dụng các khái niệm đã học Bạn có thể bắt đầu với các chương trình nhỏ, chẳng hạn như chương trình tính toán hoặc chương trình in ra các thông báo trên màn hình.

Tham gia cộng đồng lập trình viên: Tham gia các diễn đàn lập trình hoặc các nhómtrên mạng có thể giúp bạn gặp gỡ những người có chung sở thích và được họ chia

sẻ kinh nghiệm học tập và lập trình

Liên tục cập nhật kiến thức: C++ là một ngôn ngữ lập trình phức tạp, nên cần phải liên tục cập nhật kiến thức để có thể đáp ứng với những thay đổi và cập nhật của C++

Để bắt đầu học C++, bạn cần tìm hiểu cú pháp và hướng đối tượng của C++, lựa chọn các tài liệu học tập, lập trình thực tế, tham gia cộng đồng lập trình viên và liên tục cập nhật kiến thức

2.Các một số thông tin chi tiết hơn về những kiến thức cơ bản của C++ mà bạn

có thể quan tâm:

Biến và kiểu dữ liệu: Trong C++, bạn có thể khai báo biến với từ khóa "auto" để biên dịch tự động xác định kiểu dữ liệu của biến dựa trên giá trị ban đầu của nó Ngoài ra, C++ cũng hỗ trợ kiểu dữ liệu định nghĩa người dùng (user-defined types) bằng cách sử dụng cú pháp "class" hoặc "struct"

Các toán tử: C++ cũng cung cấp một số toán tử khác như toán tử bit (and, or, xor, not), toán tử dịch bit (left shift, right shift), toán tử ba ngôi (conditional operator)

và toán tử sizeof để lấy kích thước của một kiểu dữ liệu hoặc biến

Cấu trúc điều khiển: C++ cung cấp thêm một cấu trúc điều khiển mới là based for loop" cho phép bạn lặp lại các phần tử của một mảng hoặc bộ sưu tập (collection) bằng cách sử dụng vòng lặp "for" và "auto"

"range-Hàm: C++ cũng hỗ trợ các hàm inline cho phép bạn định nghĩa các hàm ngắn gọn

và được biên dịch trực tiếp vào nơi sử dụng của nó Ngoài ra, C++ cũng hỗ trợ các hàm lambda cho phép bạn định nghĩa các hàm nặc danh (anonymous) và truyền chúng như tham số cho các hàm khác

Trang 5

Mảng và con trỏ: C++ cũng hỗ trợ các mảng đa chiều và con trỏ hàm (function pointer) cho phép bạn truyền một hàm như một tham số cho một hàm khác.Lớp và đối tượng: C++ cung cấp tính đa hình (polymorphism) thông qua việc sử dụng kỹ thuật "virtual function" để cho phép các lớp con ghi đè (override) các phương thức của lớp cha Ngoài ra, C++ còn có tính kế thừa (inheritance) cho phép bạn tạo ra các lớp mới dựa trên các lớp hiện có.

Thư viện tiêu chuẩn: C++ thường được sử dụng để viết các ứng dụng phần mềm

có hiệu suất cao, vì vậy nó có

3.Trong C++, có nhiều kiểu dữ liệu khác nhau để lưu trữ các giá trị khác nhau Dưới đây là một số kiểu dữ liệu phổ biến được sử dụng trong C++:

Kiểu số nguyên (Integer): Kiểu số nguyên trong C++ được sử dụng để lưu trữ các

số nguyên Kiểu số nguyên có thể có kích thước khác nhau tùy thuộc vào máy tính

và phiên bản C++ được sử dụng

Kiểu số thực (Floating point): Kiểu số thực trong C++ được sử dụng để lưu trữ các

số thực Kiểu số thực có thể có kích thước khác nhau tùy thuộc vào máy tính và phiên bản C++ được sử dụng

Kiểu ký tự (Character): Kiểu ký tự trong C++ được sử dụng để lưu trữ các ký tự Kiểu ký tự có thể được sử dụng để lưu trữ các ký tự đơn, các chuỗi ký tự, và các

ký tự đặc biệt như dấu cách và dấu xuống dòng

Kiểu Boolean: Kiểu Boolean trong C++ được sử dụng để lưu trữ các giá trị đúng hoặc sai Kiểu Boolean có thể có giá trị true hoặc false

Kiểu void: Kiểu void trong C++ được sử dụng để chỉ ra rằng một hàm không trả về giá trị nào

Kiểu dữ liệu địa chỉ (Pointer): Kiểu dữ liệu địa chỉ trong C++ được sử dụng để lưu trữ địa chỉ bộ nhớ của một biến hay một hàm

Ngoài ra, C++ còn có nhiều kiểu dữ liệu khác như mảng, struct, enum, union, và các kiểu dữ liệu đặc biệt khác như auto và decltype

4.Các cấu trúc trong c++

Trang 6

1 Mảng (Array): Mảng là một tập hợp các phần tử cùng kiểu dữ liệu được xếp theo thứ tự trong bộ nhớ Mảng có thể được sử dụng để lưu trữ và truy cập các giá trị số, chuỗi ký tự, hoặc các đối tượng định nghĩa trước.

Có 2 loại mảng trong C++:

Mảng 1 chiều: các phần tử được sắp xếp liên tục và có thứ tự trên bộ nhớ

máy tính và được đánh số từ 0 và tăng dần 1 đơn vị Mỗi phần tử trong mảng 1 chiều được xác định thông qua index bắt đầu từ [0] tới [n-1]

Mảng đa chiều: trong đó mảng 2 chiều được sử dụng nhiều nhất, là kiểu

mảng chứa các mảng khác bên trong đó Phần tử của mảng 2 chiều không được lưu trữ thông qua các mảng 2 chiều mà được lưu giữ thông qua các mảng 1 chiều bên trong mảng 2 chiều Mỗi phần tử trong mảng 2 chiều được xác định bởi một cặp index là [index dọc] [index ngang]

2 Danh sách liên kết (Linked List): Danh sách liên kết là một cấu trúc dữ liệu

mà mỗi nút (node) trong danh sách liên kết chứa dữ liệu và một con trỏ trỏ tới nút tiếp theo trong danh sách

Trang 7

3 Ngăn xếp (Stack): Ngăn xếp là một cấu trúc dữ liệu có tính chất First-Out" (LIFO) Các phần tử được thêm vào ngăn xếp sẽ được lấy ra theo thứ tựngược lại với thứ tự chúng được thêm vào.

"Last-In-4 Hàng đợi (Queue): Hàng đợi là một cấu trúc dữ liệu có tính chất First-Out" (FIFO) Các phần tử được thêm vào hàng đợi sẽ được lấy ra theo thứ tự chúng được thêm vào

"First-In-5 Cây (Tree): Cây là một cấu trúc dữ liệu phân cấp trong đó mỗi nút (node) trong cây có thể có nhiều con Cây thường được sử dụng để lưu trữ dữ liệu theo hình thức phân cấp như cây thư mục trên hệ điều hành

6 Đồ thị (Graph): Đồ thị là một cấu trúc dữ liệu có thể biểu diễn các mối quan

hệ giữa các đối tượng Đồ thị có thể được sử dụng để giải quyết các bài toán tìm đường đi ngắn nhất, tìm chu trình, hoặc tìm các tập con của đỉnh

Ngoài ra, C++ còn có nhiều cấu trúc dữ liệu khác như hash table, heap, và set/mapđược sử dụng để giải quyết các bài toán khác nhau

Biên dịch chương trình ( Compile program):

Để biên dịch một chương trình C++, chúng ta cần một trình biên dịch (compiler)

6.Một số ứng dụng có thể lập trình c++

C++ là một trong những ngôn ngữ lập trình phổ biến nhất và được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như phát triển game, phát triển ứng dụng di động, phát triển phần mềm và nhiều lĩnh vực khác Vì vậy, có nhiều công cụ khác nhau để lập trình C++, mỗi công cụ có đặc điểm riêng và phù hợp với mục đích sử dụng của từng người

Dưới đây là một số công cụ phổ biến để lập trình C++:

- Visual Studio: Đây là một trong những công cụ phổ biến nhất để lập trình C++ trên nền tảng Windows Nó cung cấp nhiều tính năng như trình biên dịch, trình soạn thảo mã nguồn, gỡ lỗi, và có thể kết hợp với các thư viện bên thứ ba để phát triển ứng dụng C++

Trang 8

- Code::Blocks: Là một công cụ lập trình C++ miễn phí và mã nguồn mở, có tính năng tương tự như Visual Studio Code::Blocks hỗ trợ nhiều nền tảng, bao gồm Windows, Linux và macOS.

- Eclipse: Đây là một IDE miễn phí và mã nguồn mở hỗ trợ nhiều ngôn ngữ lập trình, bao gồm C++ Nó có thể được sử dụng trên nhiều nền tảng, bao gồm Windows, Linux và macOS

- Xcode: Đây là một công cụ lập trình C++ được phát triển bởi Apple và chỉ hỗtrợ trên macOS Nó cung cấp các tính năng như trình biên dịch, trình soạn thảo mã nguồn, gỡ lỗi, và có thể kết hợp với các thư viện bên thứ ba để phát triển ứng dụng C++

- NetBeans: Là một IDE miễn phí và mã nguồn mở, hỗ trợ nhiều ngôn ngữ lậptrình bao gồm C++ Nó có thể được sử dụng trên nhiều nền tảng, bao gồm Windows, Linux và macOS

Trên đây là một số công cụ phổ biến để lập trình C++ Tuy nhiên, còn rất nhiều công cụ khác mà bạn có thể tìm hiểu và sử dụng phù hợp với mục đích của bạn

Phần 2: Các chức năng của chương trình

Đây là mô tả chi tiết cho các chức năng của chương trình của bạn:

Chương trình xác định một sinhviencấu trúc để chứa thông tin của sinh viên, bao gồm ID, tên, địa chỉ, thông tin liên lạc, giới tính và các lớp khác nhau Nó cũng định nghĩa một số chức năng, bao gồm:

- search: tìm kiếm một sinh viên theo ID của họ và trả về vị trí của họ trong mảng hoặc -1 nếu không tìm thấy

- clean: xóa một bản ghi sinh viên bằng cách dịch chuyển tất cả các bản ghi tiếp theo về một vị trí trong mảng

- displaymenu: hiển thị menu các tùy chọn để người dùng lựa chọn

- them_banghi: thêm một bản ghi sinh viên mới vào mảng

- viewall: hiển thị tất cả các bản ghi của sinh viên dưới dạng bảng

Các chức năng bao gồm:

=================================================================== - MENU -

Trang 9

- Thêm Sinh Viên

- Xoá Sinh Viên

- Update sinh viên

- Quản lý tất ca sinh vien

- Tính Điểm trung bình của tất cả sinh viên đã chọn

- Cho biết sinh viên nào có điểm kiểm tra cao nhất

- Cho biết sinh viên có điểm kiểm tra thấp nhất

- Tìm kiếm sinh viên bằng ID

- Sắp xếp tất cả các sinh viên bằng bảng điểm

Hệ thống quản lý sinh viên cơ bản được triển khai trong C++ Nó cho phép người dùng thêm, xóa, cập nhật và xem hồ sơ học sinh Hệ thống lưu trữ các thông tin sau về mỗi sinh viên:

- ID: một chuỗi đại diện cho ID sinh viên

- Tên: một chuỗi đại diện cho tên sinh viên

- Giới tính: ký tự thể hiện giới tính của học sinh ('M' hoặc 'F')

- Điểm: 5 số thực thể hiện điểm của học sinh trong 5 bài kiểm tra khác nhau

Phần mô tả chi tiết của các chức năng trên là:

Thêm sinh viên:

- Yêu cầu người dùng nhập thông tin của sinh viên mới, bao gồm tên, mã sinh viên, ngày sinh, giới tính, địa chỉ và điểm số của sinh viên

- Kiểm tra xem thông tin sinh viên đó đã tồn tại trong danh sách sinh viên hay chưa Nếu đã tồn tại thì thông báo cho người dùng biết và yêu cầu nhập lại Nếu chưa tồn tại, thì thêm sinh viên mới vào danh sách

Xóa sinh viên:

Yêu cầu người dùng nhập mã số sinh viên của sinh viên cần xóa

Kiểm tra xem mã số sinh viên đó có tồn tại trong danh sách sinh viên hay không.Nếu không tồn tại thì thông báo cho người dùng biết và yêu cầu nhập lại Nếu tồntại, thì xóa sinh viên đó khỏi danh sách

Cập nhật thông tin sinh viên:

Trang 10

- Yêu cầu người dùng nhập mã số sinh viên của sinh viên cần cập nhật thông tin.

- Kiểm tra xem mã số sinh viên đó có tồn tại trong danh sách sinh viên hay không Nếu không tồn tại thì thông báo cho người dùng biết và yêu cầu nhập lại Nếu tồn tại, thì yêu cầu người dùng nhập thông tin mới cho sinh viên đó

Quản lý tất cả sinh viên:

- Liệt kê tất cả thông tin của các sinh viên trong danh sách

Tính điểm trung bình của tất cả sinh viên đã chọn:

- Yêu cầu người dùng chọn danh sách sinh viên muốn tính điểm trung bình

- Tính điểm trung bình của tất cả sinh viên trong danh sách đã chọn

Cho biết sinh viên nào có điểm kiểm tra cao nhất:

- Tìm sinh viên có điểm kiểm tra cao nhất trong danh sách

Cho biết sinh viên có điểm kiểm tra thấp nhất:

- Tìm sinh viên có điểm kiểm tra thấp nhất trong danh sách

Tìm kiếm sinh viên bằng ID:

- Cầu người dùng nhập mã số sinh viên của sinh viên cần tìm kiếm

- Tìm kiếm sinh viên với mã số sinh viên đã nhập và in ra thông tin của sinh viên đó

Sắp xếp tất cả các sinh viên bằng bảng điểm:

- Sắp xếp danh sách sinh viên theo thứ tự điểm giảm dần và hiển thị thông tin của tất cả sinh viên được sắp xếp

Hệ thống sử dụng một mảng cấu trúc để lưu trữ hồ sơ học sinh Cấu trúc chứa cáctrường ID, tên, giới tính và điểm cũng như một trường cho tổng điểm Chương trình chính hiển thị một menu với các chức năng trên và người dùng có thể chọn tùy chọn mong muốn bằng cách nhập một số

có thể phân tích chức năng của từng hàm trong code để vẽ lưu đồ tổng quát như sau:

 Hàm displaymenu():

In ra màn hình menu tùy chọn cho người dùng

Trang 11

 Hàm them_banghi(struct sinhvien st[],int& biendem):

Nhập thông tin của một sinh viên mới từ bàn phím

Tính tổng điểm của sinh viên và lưu vào biến tongdiem

Tăng giá trị biến biendem lên 1 để đánh dấu số lượng sinh viên đã được thêm vào mảng st[]

 Hàm search(struct sinhvien st[], string id,int biendem):

Tìm kiếm sinh viên trong mảng st[] dựa trên mã số sinh viên (mssv) và trả

về vị trí đầu tiên mà sinh viên được tìm thấy

Nếu không tìm thấy sinh viên nào, trả về giá trị -1

 Hàm viewall(struct sinhvien st[], int biendem):

In ra màn hình thông tin của tất cả sinh viên trong mảng st[], bao gồm:

- Mã số sinh viên (mssv)

- Tên sinh viên (tensv)

- Giới tính (sex)

- Địa chỉ (diachi)

- Thông tin liên lạc (ttll)

- Điểm kiểm tra 1 (diemkt1)

- Điểm kiểm tra 2 (diemkt2)

- Điểm chuyên cần (diemcc)

- Điểm giữa kì (diemgk)

- Điểm cuối kì (diemck)

- Tổng điểm (tongdiem)

 Hàm clean(struct sinhvien st[],int deleteitem):

Xoá thông tin của sinh viên tại vị trí deleteitem trong mảng st[]

Giảm giá trị biến biendem đi 1 để đánh dấu số lượng sinh viên đã được xoá khỏi mảng st[]

 Hàm main():

Khai báo biến và khởi tạo mảng st[] chứa thông tin sinh viên

Sử dụng vòng lặp while để lặp lại việc thực hiện các chức năng tùy chọn chođến khi người dùng chọn thoát

Hiển thị menu tùy chọn và chờ người dùng nhập vào lựa chọn của mìnhDựa trên lựa chọn của người dùng, thực hiện các chức năng tương ứng (thêm sinh viên, xoá sinh

Phần 3: Giao diện và chức năng sử dụng của chương trình

Ngày đăng: 21/08/2023, 23:32

TỪ KHÓA LIÊN QUAN

w