Ở bài tập này, chúng ta sẽ sử dụng mảng một chiều để quản lý thông tin của sinh viên. Nhiệm vụ của chúng ta là nhập vào thông tin cá nhân của sinh viên bao gồm: mã sinh viên, tên sinh viên, lớp học. Ngoài ra, còn nhập điểm của các môn học như toán, văn và anh, sau đó hiển thị thông tin của sinh viên đó lên màn hình.

Làm thế nào để thực hiện bài tập này?

Để thực hiện bài tập này, chúng ta cần có kiến thức cơ bản về ngôn ngữ lập trình C, các cách nhập xuất cơ bản trong C, mảng một chiều trong C, cách sử dụng hàm và cách sử dụng cấu trúc struct trong ngôn ngữ lập trình C.

Các bước thực hiện

  1. Đầu tiên, chúng ta khai báo một cấu trúc SinhVien bao gồm các thuộc tính như mã sinh viên, tên sinh viên, lớp, điểm toán, điểm văn và điểm anh.

  2. Trong hàm main, chúng ta khai báo một mảng SinhVien sv[100] và một biến n để lưu trữ số lượng sinh viên.

  3. Chúng ta sử dụng hàm Nhap để nhập dữ liệu từ bàn phím cho mảng sinh viên. Hàm này sẽ sử dụng vòng lặp for để duyệt qua từng sinh viên trong mảng và nhập dữ liệu cho từng sinh viên.

  4. Sau đó, chúng ta sử dụng hàm Xuat để hiển thị thông tin sinh viên ra màn hình. Hàm này cũng sử dụng vòng lặp for để duyệt qua từng sinh viên trong mảng và hiển thị thông tin của từng sinh viên.

  5. Cuối cùng, trong hàm main, chúng ta gọi hàm Nhap(sv, n) để nhập dữ liệu và hàm Xuat(sv, n) để hiển thị dữ liệu sau đó chạy chương trình.

Dưới đây là đoạn mã C hoàn chỉnh giúp chúng ta thực hiện bài tập quản lý sinh viên bằng mảng một chiều trong lập trình C:

#include<stdio.h>

// Khai báo một cấu trúc SinhVien
struct SinhVien {
    int MaSV;
    char TenSV[50];
    char Lop[50];
    float Dtoan;
    float Dvan;
    float Danh;
};

// Hàm nhập thông tin sinh viên
void Nhap(struct SinhVien sv[], int n) {
    for (int i = 0; i < n; i++) {
        printf("Nhập thông tin sinh viên thứ %dn", i + 1);
        printf("Nhập mã sinh viên: ");
        scanf("%d", &sv[i].MaSV);
        printf("Nhập tên sinh viên: ");
        fflush(stdin);
        gets(sv[i].TenSV);
        printf("Nhập lớp: ");
        gets(sv[i].Lop);
        fflush(stdin);
        printf("Nhập điểm toán: ");
        scanf("%f", &sv[i].Dtoan);
        printf("Nhập điểm văn: ");
        scanf("%f", &sv[i].Dvan);
        printf("Nhập điểm tiếng anh: ");
        scanf("%f", &sv[i].Danh);
    }
}

// Hàm hiển thị thông tin sinh viên
void Xuat(struct SinhVien sv[], int n) {
    printf("Mã SV t Tên SV t Lớp t Toán t Văn t Anh t ĐTBn");
    for (int i = 0; i < n; i++) {
        printf("%d t %s t %s t %.2f t %.2f t %.2f t %.2fn", sv[i].MaSV, sv[i].TenSV,
                sv[i].Lop, sv[i].Dtoan, sv[i].Dvan, sv[i].Danh, (sv[i].Dtoan + sv[i].Dvan + sv[i].Danh) / 3);
    }
}

int main() {
    struct SinhVien sv[100];
    int n;

    do {
        printf("Nhập số sinh viên: ");
        scanf("%d", &n);
        if (n < 1 || n > 100) {
            printf("Vui lòng nhập lại!n");
        }
    } while (n < 1 || n > 100);

    Nhap(sv, n);
    printf("nDanh sách các sinh viên là:n");
    Xuat(sv, n);

    return 0;
}

Kết quả

Nhập số sinh viên: 2
Nhập thông tin sinh viên thứ 1
Nhập mã sinh viên: 1
Nhập tên sinh viên: A
Nhập lớp: 12A7
Nhập điểm toán: 10.0
Nhập điểm văn: 10.0
Nhập điểm tiếng anh: 10.0

Nhập thông tin sinh viên thứ 2
Nhập mã sinh viên: 2
Nhập tên sinh viên: B
Nhập lớp: 12A7
Nhập điểm toán: 8.0
Nhập điểm văn: 9.0
Nhập điểm tiếng anh: 10.0

Danh sách các sinh viên là:
Mã SV    Tên SV    Lớp    Toán    Văn    Anh    ĐTB
1        A         12A7   10.00   10.00  10.00  10.00
2        B         12A7   8.00    9.00   10.00  9.00

Sau khi làm bài tập này, chúng ta cần phải hiểu và nắm được những kiến thức sau:

- Cách nhập xuất cơ bản trong ngôn ngữ lập trình C.
- Cách sử dụng hàm trong ngôn ngữ lập trình C.
- Cách sử dụng mảng một chiều trong ngôn ngữ lập trình C.
- Cách sử dụng cấu trúc struct trong ngôn ngữ C.
- Cách sử dụng vòng lặp for để duyệt qua các phần tử trong mảng.

Hi vọng rằng bài viết này giúp bạn hiểu và thực hiện bài tập quản lý sinh viên bằng mảng một chiều trong lập trình C một cách dễ dàng. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến nào, hãy để lại comment dưới đây. Chúc bạn thành công!

Đọc thêm: EzBeauty.vn

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!