Đáp Án Bài 2.6





Bài 2.6Viết chương trình tạo tệp dữ liệu “DIEM.DAT” chứa bảng điểm của n thí sinh và in kết quả ra màn hình. Bảng điểm gồm các cột: Họ tên, Điểm Toán, Điểm Lý, Điểm Hoá, Tổng, Loại.
Nhập vào: Họ tên, Điểm toán, Điểm lý, Điểm hoá.
            Tính Tổng, Loại theo nguyên tắc:
                        Tổng = Điểm toán + Điểm lý + Điểm hoá.
Loại = “DO”            nếu   Tổng > 19
Loại = “TRUOT”     nếu   Tổng <= 19


//Câu 2.6:
#include <stdio.h>
#include <stdio_ext.h>

int main(void)
{
    struct
    {
        char hoTen[30], *loai;
        float diemToan, diemLy, diemHoa, tongDiem;
    }sv;

    FILE *fp;
    int i, n;

    //Tao tep
    fp = fopen("DIEM.DAT","wb");
    if(fp==NULL)
        printf("Khong tao duoc tep DIEM.DAT");
    else
    {
        printf("Nhap so luong sinh vien n = ");
        scanf("%d", &n);

        printf("Nhap vao danh sach sinh vien:");
        for(i=0;i<n;i++)
        {
            printf("\nap sinh vien thu %d:\n", i+1);
            printf("\tHo ten: "); __fpurge(stdin); gets(sv.hoTen);
            printf("\tDiem toan: ");scanf("%f", &sv.diemToan);
            printf("\tDiem ly: ");scanf("%f", &sv.diemLy);
            printf("\tDiem hoa: ");scanf("%f", &sv.diemHoa);

            //Tinh tong, loai
            sv.tongDiem = sv.diemToan + sv.diemLy + sv.diemHoa;
            if(sv.tongDiem>19) sv.loai ="DO";
            else sv.loai = "TRUOT";

            //Ghi du lieu da nhap vao tep
            fwrite(&sv, sizeof(sv), 1, fp);
        }
        fclose(fp);
    }

    //Doc du lieu tu tep
    fp = fopen("DIEM.DAT", "rb");
    if(fp == NULL)
        perror("Khong mo duoc tep DIEM.DAT!\n");
    else
    {
        printf("Bang diem cua danh sach sinh vien da nhap la:\n\n");
        printf("Ho ten                         Diem toan  Diem ly  Diem hoa  Tong diem  Loai\n");
        while(fread(&sv, sizeof(sv), 1, fp)>0)
        printf("%-30s %-10.2f %-8.2f %-9.2f %-10.2f %-6s\n",sv.hoTen,sv.diemToan,sv.diemLy,sv.diemHoa,sv.tongDiem,sv.loai);

        fclose(fp);
    }

    return 0;
}
//===dinh nghia ham===
Coding: Hải Dớ



Đăng nhận xét

Cảm Ơn Bạn Đã Để Lại Bình Luận

 

Quản Trị Viên

Lượt xem

Lên Trên