Bài 2.6: Viế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ớ
Chia sẻ:
Chia sẻ
Đăng nhận xét
Cảm Ơn Bạn Đã Để Lại Bình Luận