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ớ