Bài tập quản lý sinh viên trong C/C++
Bài tập quản lý sinh viên trong C/C++

Việc quản lý thông tin sinh viên trong C/C++ là một bài tập thú vị và cần thiết. Trong bài tập này, chúng ta sẽ tạo ra một chương trình quản lý sinh viên với các chức năng quan trọng như thêm sinh viên, cập nhật thông tin, xóa sinh viên, tìm kiếm, sắp xếp và hiển thị danh sách sinh viên.

Mục đích của bài tập

  • Tạo chương trình quản lý sinh viên trong C/C++.
  • Mỗi sinh viên có các thuộc tính như id, tên, giới tính, tuổi, điểm toán, điểm lý, điểm hóa, điểm trung bình và học lực.
  • Sử dụng file “student.txt” để lưu trữ danh sách sinh viên.
  • Tính điểm trung bình và xếp loại học lực.
  • Tạo menu với các chức năng quan trọng.

Cách thực hiện

Chúng ta sẽ sử dụng cấu trúc để định nghĩa một sinh viên và một mảng cấu trúc để lưu trữ danh sách sinh viên. Dưới đây là các bước chi tiết để cài đặt chương trình quản lý sinh viên trong C/C++ sử dụng cấu trúc.

Tạo cấu trúc SinhVien

Chúng ta sẽ tạo cấu trúc SinhVien với các thuộc tính như id, tên, giới tính, tuổi, điểm toán, điểm lý, điểm hóa, điểm trung bình và học lực.

typedef struct SinhVien {
    int id;
    char ten[100];
    char gioiTinh[10];
    int tuoi;
    float diemToan;
    float diemLy;
    float diemHoa;
    float diemTrungBinh;
    char hocLuc[20];
} SV;

Định nghĩa các hàm

Dưới đây là danh sách các hàm chúng ta sẽ sử dụng trong chương trình quản lý sinh viên. Hàm printLine(int n) in ra một dòng gồm n ký tự “_”.

  1. printLine(int n): In ra một dòng gồm n ký tự “_”.
  2. idLonNhat(SV a[], int n): Lấy ra id lớn nhất của danh sách sinh viên a[].
  3. nhapThongTinSV(SV &sv, int id): Nhập thông tin sinh viên sv với id.
  4. nhapSV(SV a[], int id, int n): Thêm mới sinh viên vào danh sách sinh viên.
  5. capNhatThongTinSV(SV &sv): Cập nhật thông tin sinh viên theo id.
  6. capNhatSV(SV a[], int id, int n): Cập nhật thông tin sinh viên theo id.
  7. xoaTheoID(SV a[], int id, int n): Xóa sinh viên theo id.
  8. timKiemTheoTen(SV a[], char ten[], int n): Tìm kiếm sinh viên theo tên.
  9. tinhDTB(SV &sv): Tính điểm trung bình và xếp loại học lực.
  10. sapXepTheoDTB(SV a[], int n): Sắp xếp danh sách sinh viên theo điểm trung bình.
  11. sapXepTheoTen(SV a[], int n): Sắp xếp danh sách sinh viên theo tên.
  12. showStudent(SV a[], int n): Hiển thị danh sách sinh viên.
  13. docFile(SV a[], char fileName[]): Đọc danh sách sinh viên từ file.
  14. ghiFile(SV a[], int n, char fileName[]): Ghi danh sách sinh viên vào file.

Hàm main

Hàm main được sử dụng để khởi tạo menu và điều khiển chương trình quản lý sinh viên. Khi chương trình khởi tạo, chúng ta sẽ đọc danh sách sinh viên từ file “sinhvien.txt” và lấy ra số lượng sinh viên và id lớn nhất hiện tại. Sau đó, menu sẽ được hiển thị.

int main() {
    int key;
    char fileName[] = "sinhvien.txt";
    SV arraySV[100];
    int soluongSV = docFile(arraySV, fileName);
    int idCount = idLonNhat(arraySV, soluongSV) + 1;

    do {
        printf("n========== MENU ==========n");
        printf("1. Thêm sinh viên.n");
        printf("2. Cập nhật thông tin sinh viên bởi ID.n");
        printf("3. Xóa sinh viên bởi ID.n");
        printf("4. Tìm kiếm sinh viên theo tên.n");
        printf("5. Sắp xếp sinh viên theo điểm trung bình (GPA).n");
        printf("6. Sắp xếp sinh viên theo tên.n");
        printf("7. Hiển thị danh sách sinh viên.n");
        printf("8. Ghi danh sách sinh viên vào file.n");
        printf("0. Thoát.n");
        printf("===========================n");
        printf("Mời bạn chọn: ");
        scanf("%d", &key);

        switch (key) {
            case 1:
                nhapSV(arraySV, idCount, soluongSV);
                idCount++;
                soluongSV++;
                break;
            case 2:
                capNhatSV(arraySV, idCount, soluongSV);
                break;
            case 3:
                xoaTheoID(arraySV, idCount, soluongSV);
                soluongSV--;
                break;
            case 4:
                timKiemTheoTen(arraySV, soluongSV);
                break;
            case 5:
                sapXepTheoDTB(arraySV, soluongSV);
                break;
            case 6:
                sapXepTheoTen(arraySV, soluongSV);
                break;
            case 7:
                showStudent(arraySV, soluongSV);
                break;
            case 8:
                ghiFile(arraySV, soluongSV, fileName);
                break;
            case 0:
                printf("Cảm ơn bạn đã sử dụng chương trình!n");
                break;
            default:
                printf("Lựa chọn không hợp lệ. Vui lòng chọn lại!n");
                break;
        }
    } while (key != 0);

    return 0;
}

Kết quả

Sau khi chạy chương trình, bạn sẽ thấy giao diện menu hiện lên. Bạn có thể thêm sinh viên, cập nhật thông tin, xóa sinh viên, tìm kiếm, sắp xếp và hiển thị danh sách sinh viên. Bạn cũng có thể ghi danh sách sinh viên vào file “sinhvien.txt”.

Tạo chương trình quản lý sinh viên trong C/C++ là một sự kết hợp giữa việc áp dụng kiến thức về cấu trúc dữ liệu và việc làm việc với tệp tin. Đây là một bài tập thực tế và sẽ cung cấp cho bạn kiến thức và kỹ năng cần thiết để xây dựng các chương trình quản lý dữ liệu tương tự.

Nếu bạn muốn tải chương trình quản lý sinh viên trong C/C++, bạn có thể truy cập đường dẫn tại đây.

Đây là bài viết hướng dẫn về cách tạo chương trình quản lý sinh viên trong C/C++. Hy vọng rằng bạn đã có thể hiểu và thực hành thành công bài tập này. Chúc bạn thành công!

By Hà Phương

Với kinh nghiệm trên 7 năm trong lĩnh vực làm đẹp mình tạo nên EzBeauty là website chia sẻ kiến thức và thông tin cho mọi người!