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

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

23 75 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

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.

Mục Lục Phần 1: Giới thiệu qua ngôn ngữ lập trình C++ 1.Nếu học C++, số bước giúp bắt đầu………………… 2.Các số thông tin chi tiết kiến thức C++ mà bạn quan tâm………………………………………………………………………………………… 3.Trong C++, có nhiều kiểu liệu khác để lưu trữ giá trị khác nhau………………………………………………………………………………………………………………… 5.Các cấu trúc c++ 6.Một số ứng dụng lập trình c++ Phần 2: Các chức chương trình Phần 3: Giao diện chức sử dụng chương trình Phần 1: Giới thiệu qua ngơn ngữ lập trình C++ C++ ngơn ngữ lập trình hướng đối tượng, mở rộng từ ngơn ngữ C có tính đa kế thừa, đa hình, kế thừa, quản lý nhớ động, hỗ trợ xử lý ngoại lệ Nó ngơn ngữ lập trình phổ biến sử dụng rộng rãi lĩnh vực phát triển game, phát triển ứng dụng di động, phát triển web lĩnh vực khác Để bắt đầu học C++, bạn nên tìm hiểu kiến thức ngôn ngữ cú pháp, kiểu liệu, biến, hàm, lớp, đối tượng, khái niệm khác lập trình hướng đối tượng Bạn nên học cách sử dụng công cụ phát triển trình biên dịch, trình gỡ lỗi IDE để phát triển ứng dụng C++ Nếu bạn bắt đầu học C++, nên bắt đầu với tài liệu trực tuyến miễn phí sách trực tuyến, khóa học trực tuyến, trang web cung cấp tài liệu hướng dẫn học C++ Bạn tham gia cộng đồng lập trình viên C++ để học hỏi chia sẻ kiến thức với người khác C++ ngôn ngữ lập trình đa năng, sử dụng nhiều ứng dụng khác Phát triển phần mềm máy tính: C++ sử dụng để phát triển ứng dụng máy tính trình duyệt web, ứng dụng văn phòng, trò chơi, phần mềm khác Phát triển ứng dụng di động: C++ sử dụng để phát triển ứng dụng di động cho hệ điều hành Android iOS Phát triển phần mềm nhúng: C++ sử dụng để phát triển phần mềm nhúng, 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++ sử dụng để phát triển thư viện khung cơng cụ trí tuệ nhân tạo, OpenCV, TensorFlow, Caffe Phát triển phần mềm hệ thống: C++ sử dụng để phát triển phần mềm hệ thống hệ điều hành, trình điều khiển phần mềm máy chủ Phát triển trò chơi: C++ ngơn ngữ lập trình phổ biến lĩnh vực phát triển trị chơi, cho phép tạo trò chơi với đồ họa đẹp hiệu suất cao C++ ngôn ngữ lập trình đa sử dụng nhiều ứng dụng khá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ềm nhúng, trí tuệ nhân tạo, phần mềm hệ thống, phát triển trò chơi 1.Nếu học C++, số bước giúp bắt đầu: Tìm hiểu cú pháp C++: Cú pháp cách mà bạn viết code C++ Nên tìm hiểu khái niệm C++, chẳng hạn biến, hàm, lệnh điều khiển, mảng, v.v Học hướng đối tượng: C++ 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 đối tượng C++ khái niệm quan trọng lớp, kế thừa, đa hình, trừu tượng Chọn số tài liệu học tập: Bạn tìm kiếm tài liệu mạng để học C+ + Các tài liệu sách, viết trang web, video hướng dẫn YouTube, khóa học trực tuyến, v.v Lập trình thực tế: Sau hiểu cú pháp hướng đối tượng C++, bạn bắt đầu viết chương trình C++ đơn giản để áp dụng khái niệm học Bạn bắt đầu với chương trình nhỏ, chẳng hạn chương trình tính tốn chương trình in thơng báo hình Tham gia cộng đồng lập trình viên: Tham gia diễn đàn lập trình nhóm mạng giúp bạn gặp gỡ người có chung sở thích họ chia sẻ kinh nghiệm học tập lập trình Liên tục cập nhật kiến thức: C++ 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 để đáp ứng với thay đổi cập nhật C++ Để bắt đầu học C++, bạn cần tìm hiểu cú pháp hướng đối tượng C++, lựa chọn 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 liên tục cập nhật kiến thức 2.Các số thông tin chi tiết kiến thức C++ mà bạn quan tâm: Biến kiểu liệu: Trong C++, bạn khai báo biến với từ khóa "auto" để biên dịch tự động xác định kiểu liệu biến dựa giá trị ban đầu Ngồi ra, C++ hỗ trợ kiểu liệu định nghĩa người dùng (user-defined types) cách sử dụng cú pháp "class" "struct" Các toán tử: C++ cung cấp số toán tử khác toán tử bit (and, or, xor, not), toán tử dịch bit (left shift, right shift), tốn tử ba ngơi (conditional operator) tốn tử sizeof để lấy kích thước kiểu liệu biến Cấu trúc điều khiển: C++ cung cấp thêm cấu trúc điều khiển "rangebased for loop" cho phép bạn lặp lại phần tử mảng sưu tập (collection) cách sử dụng vòng lặp "for" "auto" Hàm: C++ hỗ trợ hàm inline cho phép bạn định nghĩa hàm ngắn gọn biên dịch trực tiếp vào nơi sử dụng Ngồi ra, C++ hỗ trợ hàm lambda cho phép bạn định nghĩa hàm nặc danh (anonymous) truyền chúng tham số cho hàm khác Mảng trỏ: C++ hỗ trợ mảng đa chiều trỏ hàm (function pointer) cho phép bạn truyền hàm tham số cho hàm khác Lớp đố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" phép lớp ghi đè (override) phương thức lớp cha Ngồi ra, C++ cịn có tính kế thừa (inheritance) cho phép bạn tạo lớp dựa lớp có Thư viện tiêu chuẩn: C++ thường sử dụng để viết ứng dụng phần mềm có hiệu suất cao, có 3.Trong C++, có nhiều kiểu liệu khác để lưu trữ giá trị khác Dưới số kiểu liệu phổ biến sử dụng C++: Kiểu số nguyên (Integer): Kiểu số nguyên C++ sử dụng để lưu trữ số ngun Kiểu số ngun có kích thước khác tùy thuộc vào máy tính phiên C++ sử dụng Kiểu số thực (Floating point): Kiểu số thực C++ sử dụng để lưu trữ số thực Kiểu số thực có kích thước khác tùy thuộc vào máy tính phiên C++ sử dụng Kiểu ký tự (Character): Kiểu ký tự C++ sử dụng để lưu trữ ký tự Kiểu ký tự sử dụng để lưu trữ ký tự đơn, chuỗi ký tự, ký tự đặc biệt dấu cách dấu xuống dòng Kiểu Boolean: Kiểu Boolean C++ sử dụng để lưu trữ giá trị sai Kiểu Boolean có giá trị true false Kiểu void: Kiểu void C++ sử dụng để hàm không trả giá trị Kiểu liệu địa (Pointer): Kiểu liệu địa C++ sử dụng để lưu trữ địa nhớ biến hay hàm Ngồi ra, C++ cịn có nhiều kiểu liệu khác mảng, struct, enum, union, kiểu liệu đặc biệt khác auto decltype 4.Các cấu trúc c++ Mảng (Array): Mảng tập hợp phần tử kiểu liệu xếp theo thứ tự nhớ Mảng sử dụng để lưu trữ truy cập giá trị số, chuỗi ký tự, đối tượng định nghĩa trước Có loại mảng C++:  Mảng chiều: phần tử xếp liên tục có thứ tự nhớ máy tính đánh số từ tăng dần đơn vị Mỗi phần tử mảng chiều xác định thông qua index [0] tới [n-1]  Mảng đa chiều: mảng chiều sử dụng nhiều nhất, kiểu mảng chứa mảng khác bên Phần tử mảng chiều không lưu trữ thông qua mảng chiều mà lưu giữ thông qua mảng chiều bên mảng chiều Mỗi phần tử mảng chiều xác định cặp index [index dọc] [index ngang] Danh sách liên kết (Linked List): Danh sách liên kết cấu trúc liệu mà nút (node) danh sách liên kết chứa liệu trỏ trỏ tới nút danh sách 3 Ngăn xếp (Stack): Ngăn xếp cấu trúc liệu có tính chất "Last-InFirst-Out" (LIFO) Các phần tử thêm vào ngăn xếp lấy theo thứ tự ngược lại với thứ tự chúng thêm vào Hàng đợi (Queue): Hàng đợi cấu trúc liệu có tính chất "First-InFirst-Out" (FIFO) Các phần tử thêm vào hàng đợi lấy theo thứ tự chúng thêm vào Cây (Tree): Cây cấu trúc liệu phân cấp nút (node) có nhiều Cây thường sử dụng để lưu trữ liệu theo hình thức phân cấp thư mục hệ điều hành Đồ thị (Graph): Đồ thị cấu trúc liệu biểu diễn mối quan hệ đối tượng Đồ thị sử dụng để giải tốn tìm đường ngắn nhất, tìm chu trình, tìm tập đỉnh Ngồi ra, C++ cịn có nhiều cấu trúc liệu khác hash table, heap, set/map sử dụng để giải toán khác Biên dịch chương trình ( Compile program): Để biên dịch chương trình C++, cần trình biên dịch (compiler) 6.Một số ứng dụng lập trình c++ C++ ngơn ngữ lập trình phổ biến sử dụng rộng rãi nhiều lĩnh vực khác phát triển game, phát triển ứng dụng di động, phát triển phần mềm nhiều lĩnh vực khác Vì vậy, có nhiều cơng cụ khác để lập trình C++, cơng cụ có đặc điểm riêng phù hợp với mục đích sử dụng người Dưới số cơng cụ phổ biến để lập trình C++: - Visual Studio: Đây công cụ phổ biến để lập trình C++ tảng Windows Nó cung cấp nhiều tính trình biên dịch, trình soạn thảo mã nguồn, gỡ lỗi, kết hợp với thư viện bên thứ ba để phát triển ứng dụng C++ - Code::Blocks: Là công cụ lập trình C++ miễn phí mã nguồn mở, có tính tương tự Visual Studio Code::Blocks hỗ trợ nhiều tảng, bao gồm Windows, Linux macOS - Eclipse: Đây IDE miễn phí mã nguồn mở hỗ trợ nhiều ngơn ngữ lập trình, bao gồm C++ Nó sử dụng nhiều tảng, bao gồm Windows, Linux macOS - Xcode: Đây cơng cụ lập trình C++ phát triển Apple hỗ trợ macOS Nó cung cấp tính trình biên dịch, trình soạn thảo mã nguồn, gỡ lỗi, kết hợp với thư viện bên thứ ba để phát triển ứng dụng C++ - NetBeans: Là IDE miễn phí mã nguồn mở, hỗ trợ nhiều ngôn ngữ lập trình bao gồm C++ Nó sử dụng nhiều tảng, bao gồm Windows, Linux macOS Trên số công cụ phổ biến để lập trình C++ Tuy nhiên, cịn nhiều cơng cụ khác mà bạn tìm hiểu sử dụng phù hợp với mục đích bạn Phần 2: Các chức chương trình Đây mơ tả chi tiết cho chức chương trình bạn: Chương trình xác định sinhviencấu trúc để chứa thơng tin sinh viên, bao gồm ID, tên, địa chỉ, thơng tin liên lạc, giới tính lớp khác Nó định nghĩa số chức năng, bao gồm: - search: tìm kiếm sinh viên theo ID họ trả vị trí họ mảng -1 khơng tìm thấy - clean: xóa ghi sinh viên cách dịch chuyển tất ghi vị trí mảng - displaymenu: hiển thị menu tùy chọn để người dùng lựa chọn - them_banghi: thêm ghi sinh viên vào mảng - viewall: hiển thị tất ghi sinh viên dạng bảng Các chức bao gồm: =================================================================== - MENU - 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 tất sinh viên chọn Cho biết sinh viên có điểm kiểm tra cao Cho biết sinh viên có điểm kiểm tra thấp Tìm kiếm sinh viên ID Sắp xếp tất sinh viên bảng điểm Hệ thống quản lý sinh viên triển khai C++ Nó cho phép người dùng thêm, xóa, cập nhật xem hồ sơ học sinh Hệ thống lưu trữ thông tin sau sinh viên: - ID: chuỗi đại diện cho ID sinh viên Tên: chuỗi đại diện cho tên sinh viên Giới tính: ký tự thể giới tính học sinh ('M' 'F') Điểm: số thực thể điểm học sinh kiểm tra khác Phần mô tả chi tiết chức là: Thêm sinh viên: - Yêu cầu người dùng nhập thông tin sinh viên mới, bao gồm tên, mã sinh viên, ngày sinh, giới tính, địa điểm số sinh viên - Kiểm tra xem thông tin sinh viên tồn danh sách sinh viên hay chưa Nếu tồn thơng báo cho người dùng biết yêu cầu nhập lại Nếu chưa tồn tại, thêm sinh viên 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 sinh viên cần xóa Kiểm tra xem mã số sinh viên có tồn danh sách sinh viên hay không Nếu không tồn thơng báo cho người dùng biết u cầu nhập lại Nếu tồn tại, xóa sinh viên khỏi danh sách Cập nhật thơng tin sinh viên: - Yêu cầu người dùng nhập mã số sinh viên sinh viên cần cập nhật thông tin - Kiểm tra xem mã số sinh viên có tồn danh sách sinh viên hay không Nếu không tồn thơng báo cho người dùng biết u cầu nhập lại Nếu tồn tại, yêu cầu người dùng nhập thơng tin cho sinh viên Quản lý tất sinh viên: - Liệt kê tất thơng tin sinh viên danh sách Tính điểm trung bình tất 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 tất sinh viên danh sách chọn Cho biết sinh viên có điểm kiểm tra cao nhất: - Tìm sinh viên có điểm kiểm tra cao 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 danh sách Tìm kiếm sinh viên ID: - Cầu người dùng nhập mã số sinh viên 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 in thơng tin sinh viên Sắp xếp tất sinh viên bảng điểm: - Sắp xếp danh sách sinh viên theo thứ tự điểm giảm dần hiển thị thông tin tất sinh viên xếp Hệ thống sử dụng mảng cấu trúc để lưu trữ hồ sơ học sinh Cấu trúc chứa trường ID, tên, giới tính điểm trường cho tổng điểm Chương trình hiển thị menu với chức người dùng chọn tùy chọn mong muốn cách nhập số phân tích chức hàm code để vẽ lưu đồ tổng quát sau:  Hàm displaymenu(): In hình menu tùy chọn cho người dùng  Hàm them_banghi(struct sinhvien st[],int& biendem): Nhập thông tin sinh viên từ bàn phím Tính tổng điểm sinh viên lưu vào biến tongdiem Tăng giá trị biến biendem lên để đánh dấu số lượng sinh viên thêm vào mảng st[]  Hàm search(struct sinhvien st[], string id,int biendem): Tìm kiếm sinh viên mảng st[] dựa mã số sinh viên (mssv) trả vị trí mà sinh viên tìm thấy Nếu khơng tìm thấy sinh viên nào, trả giá trị -1  Hàm viewall(struct sinhvien st[], int biendem): In hình thơng tin tất sinh viên mảng st[], bao gồm: - Mã số sinh viên (mssv) - Tên sinh viên (tensv) - Giới tính (sex) - Địa (diachi) - Thông tin liên lạc (ttll) - Điểm kiểm tra (diemkt1) - Điểm kiểm tra (diemkt2) - Điểm chuyên cần (diemcc) - Điểm kì (diemgk) - Điểm cuối kì (diemck) - Tổng điểm (tongdiem)  Hàm clean(struct sinhvien st[],int deleteitem): Xố thơng tin sinh viên vị trí deleteitem mảng st[] Giảm giá trị biến biendem để đánh dấu số lượng sinh viên xoá khỏi mảng st[]  Hàm main(): Khai báo biến 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 chức tùy chọn người dùng chọn thoát Hiển thị menu tùy chọn chờ người dùng nhập vào lựa chọn Dựa lựa chọn người dùng, thực chức tương ứng (thêm sinh viên, xoá sinh Phần 3: Giao diện chức sử dụng chương trình Giao diện chương trình bao gồm chức 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 tất sinh viên chọn Cho biết sinh viên có điểm kiểm tra cao Cho biết sinh viên có điểm kiểm tra thấp Tìm kiếm sinh viên ID Sắp xếp tất sinh viên bảng điểm Khi ta khởi chạy chương trình mã code hình hiển thị chương trình sau: Ảnh 1: Đây giao diện chương trình lệnh thực thi nó: Muốn thêm sinh viên nhập phím tiến hành nhập thơng tin sinh viên vào chương trình bao gồm Mã sinh viên, Giới Tính sinh viên Nam nữ, Địa sinh viên , Thông tin liên lạc sinh viên,Điểm kiểm tra 1-2, Điểm kiểm tra cuối kì kì và… Sau nhập thơng tin chương trình sau: Ảnh 2: Tiếp theo muốn xố sinh viên nhập phím chương trình tiến hành xố sinh viên mà bạn muốn theo id nhập ảnh Ảnh Chương trình xố sinh viên có mã sinh viên 2100 với dịng” xố sinh viên “ tức sinh viên xố thành cơng Nếu muốn thay đổi thơng tin vừa nhập ta nhấn phím chương trình yêu cầu nhập ID hay gọi mã sinh viên ta tiến hành nhập ID nhập mục thêm sinh vào chương trình chương trình mục yêu cầu từ đến bao gồm thông tin cần sửa: Thông tin tên sinh viên địa sinh viên, cách thức liên lạc cho sinh viên Sửa giới tình sinh viên Nhập điểm kiểm tra Nhập điểm kiểm tra Nhập điểm chuyên cần Nhập điểm thi kì Nhập điểm thi cuối kì Nếu nhập ngồi mục từ 1-7 chương trình báo “ Giá trị mục không hợp lệ” Khi sửa đổi ta nhấn thông tin cần đổi vào mục thông tin thay đổi, muốn tiếp tục chương trình ta nhấn phím A để chương trình tiếp tục sử dụng cịn nhấn phím khác chương trình đóng lại Sau nhập mã sinh viên để sửa chương trình mục cần sửa nhấn chọn chương trình sau: Ảnh Tiếp tục muốn sửa thơng tin ví dụ sửa giới tính sinh viên tiếp tục nhấn A chương trình hỏi muốn nhập từ 1-9 ảnh 1: Tiếp tục nhấn phím nhập ID cho tiếp tục nhập phím để sửa giới tính chương trình sau: Ảnh Như sửa thành cơng giới tính sinh viên Muốn sửa mục khác làm tương tự phần trên: Tiếp tục chương trình để thị thông tin sinh viên tiếp tục nhấn A nhấn để hiển thị thông tin sinh viên thị sau: Ảnh 6: Như nhìn thấy thông tin vừa nhập mục theo thứ tự ID , Tên , Địa Chỉ(ĐC), Thơng Tin Liên Lạc(TTLL) , Giới Tính(GT) , Điểm kiểm tra 1(DKT1), Điểm kiểm tra 2(DKT2) , Điểm chuyên cần(DCC) , Điểm kì(DGk) ,Điểm cuối kì (DCN); Tổng Điểm Muốn tính điểm trung bình tiếp tục nhấn ta thấy mục sau Ảnh 7: Nếu chưa có thơng tin sinh viên mã sinh viên sai chương trình cho điểm cịn có thơng tin sinh viên nhập điểm cho Tb điểm nhập Ví dụ ảnh: DKT1,DKT2, DCC, DGK,ĐCK , , , , chương trình trả 5,4 ảnh Tiếp tục chương trình với liệu nhập bấm để hiển thị sinh viên có điểm kiểm tra cao : Ảnh8: Như ảnh số tìm mã sinh viên 210 vơi số tổng điểm cao 39 Chúng ta tiếp tục tìm kiếm sinh viên có điểm thổng thấp nhấn tiếp tục nhấn phím A chương trình hỏi nhập lựa chọn từ 1-9: bấm phím để tìm sinh viên có điểm thấp Ảnh 9: Như tìm sinh viên có tổng điểm thấp 27 lấy liệu từ mục để tìm sinh viên có số điểm thấp

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

TỪ KHÓA LIÊN QUAN

w