Bài tập 1: Quản lý sinh viên
I. Mục Tiêu
Bài tập này nhằm hệ thống lại toàn bộ kiến thức đã học trong khóa học lập trình C. Người học sẽ áp dụng các khái niệm như biến, kiểu dữ liệu, mảng, con trỏ, hàm, cấu trúc dữ liệu, nhập/xuất, quản lý tập tin và các thuật toán cơ bản để xây dựng một hệ thống quản lý sinh viên.
II. Yêu Cầu Bài Tập
Xây dựng một chương trình quản lý sinh viên với các chức năng sau:
Thêm sinh viên mới:
Nhập thông tin sinh viên (Mã sinh viên, Họ và Tên, Giới tính, Tuổi, Điểm trung bình, Lớp học)
Lưu trữ dữ liệu vào mảng hoặc danh sách liên kết.
Hiển thị danh sách sinh viên:
Hiển thị toàn bộ danh sách sinh viên đã nhập.
Hiển thị danh sách theo thứ tự điểm trung bình giảm dần.
Hiển thị danh sách sinh viên theo từng lớp.
Tìm kiếm sinh viên:
Tìm sinh viên theo Mã sinh viên.
Tìm sinh viên theo Họ và Tên.
Tìm sinh viên có điểm trung bình cao nhất hoặc thấp nhất.
Chỉnh sửa thông tin sinh viên:
Cập nhật lại thông tin của một sinh viên theo Mã sinh viên.
Chỉnh sửa điểm trung bình của sinh viên.
Xóa sinh viên:
Xóa một sinh viên khỏi danh sách dựa vào Mã sinh viên.
Xóa tất cả sinh viên có điểm trung bình dưới mức cho phép.
Lưu và đọc dữ liệu từ tập tin:
Lưu danh sách sinh viên vào tập tin (file nhị phân hoặc file văn bản).
Đọc dữ liệu từ tập tin và hiển thị ra màn hình.
Sắp xếp danh sách sinh viên:
Sắp xếp theo điểm trung bình (giảm dần/tăng dần).
Sắp xếp theo tên (A-Z hoặc Z-A).
Sắp xếp theo mã sinh viên.
III. Bài Tập Mẫu
Dưới đây là đoạn mã mẫu minh họa cách thêm và hiển thị danh sách sinh viên sử dụng mảng:
IV. Bài Tập Thực Hành
Mở rộng chương trình để thực hiện đầy đủ các chức năng đã yêu cầu.
Cải thiện giao diện hiển thị để dễ sử dụng hơn.
Xử lý lỗi khi nhập dữ liệu.
Hiển thị danh sách sinh viên theo nhiều tiêu chí khác nhau.
Cài đặt chương trình bằng cách sử dụng danh sách liên kết thay vì mảng.
Lưu và tải dữ liệu từ tập tin.
Kiểm tra dữ liệu đầu vào để tránh nhập sai.
V. Đánh Giá Kết Quả
Chương trình có chạy đúng với các chức năng yêu cầu không?
Mã nguồn có được viết gọn gàng, dễ hiểu và dễ mở rộng không?
Có kiểm tra lỗi đầu vào để tránh sai sót khi nhập dữ liệu không?
Hiệu suất của chương trình khi làm việc với số lượng lớn sinh viên có tốt không?
Bài tập này giúp học viên vận dụng toàn bộ kiến thức đã học để xây dựng một ứng dụng thực tế, tăng khả năng tư duy và kỹ năng lập trình C.
Last updated