Cấu trúc kiểu dữ liệu sinh viên

4
loading...

Bài toán:

Cho thông tin điểm các môn học sau: NNLT, Tin học, Toán A1. Hãy khai báo một cấu trúc mô tả điểm các môn học của 1 sinh viên. Sau đó viết hàm thực hiện các chức năng sau:

Nhập, xuất thông tin điểm của 1 sinh viên.
Tính điểm trung bình 3 môn.
Xếp loại cho sinh viên đó theo điều kiện:

Xuất sắc: ĐTB>=9
Giỏi với: 8.0<=ĐTB<9
Khá với: 6.5<=ĐTB<8.0
Trung bình: 5.0<=ĐTB<6.5
Yếu: ĐTB<5

Xử lý bài toán:

Khai báo thư viện

Khai báo struct sinh viên gồm:

Họ tên

Mã số sinh viên

Lớp

Năm sinh

Điểm ngôn ngữ lập trình

Điểm tin học

Điểm toán a1

Khai báo các hàm cần sử dụng

Viết hàm nhập

Viết hàm xuất

Viết hàm tính trung bình

Viết hàm xếp loại

Viết hàm main

Mình chia sẽ code này đê các bạn tham khảo các vấn đề tương tự. Tuy nhiên các bạn nên tự làm lại, đừng nên copy. Nếu gặp vấn đề gì khó khăn, hoặc thắc mắc gì, các bạn có thể đặt câu hỏi ở cuối bài. Mình sẽ giải đáp.

Chúc các bạn thành công!

loading...

4 COMMENTS

  1. anh cho em hỏi là em muốn tìm sinh viên nu có điểm trung bình cao nhất thì làm thế nào?

    • Bạn phải tìm được bạn nữ đầu tiên. gán max=sv.DTB, sau đó tìm bạn nữ tiếp theo so sánh điểm trung binh với bạn đầu tiên. nếu lớn hơn thì cập nhật lại. lặp lại đến hết danh sách sv.

      • e làm thế này rồi tịt k làm đc nữa a xem giúp e với
        void timnu(sinhvien ds[], int n,int vt)
        {
        int i;
        int d;
        char nu[5];
        for(i=0;i<n;i++)
        {
        if(strcmp(nu,ds[i].gioitinh)==0)
        {
        d=i;break;
        }
        }
        vt=d;
        for(i=i+1;i<n;i++)
        if((strcmp(nu,ds[i].gioitinh)==0)&&(ds[i].diemtb)<ds[vt].diemtb)
        vt=i;
        }

        • bạn nên dùng float hoặc double tìm nữ(…), if(nu,….) nu nó là chuỗi nên phải có dấu ‘nu’, rồi thêm điều kiện if(i==N) return -1 là không tìm thấy bạn nữ nào

LEAVE A REPLY