Bài 5.6: Viết chương trình tạo tệp dữ liệu “SACH.DAT” chứa
bảng danh mục của n quyển sách và in kết quả ra màn hình. Bảng danh
mục sách bao gồm các cột:
Tên, Năm, Tác giả, Giá, Loại.
Nhập vào: Tên, Năm, Tác giả,
Giá.
Tính Loại theo công thức sau:
Loại = “Cao” nếu
Tiền > 50000
Loại = “TB” nếu 20000<= Tiền <= 50000
Loại = “THAP” nếu
Tiền < 20000.
//Câu 5.6: #include <stdio.h> #include <stdio_ext.h> int main(void) { struct { char tenSach[30], tacGia[30], *loai; int nam; float gia; }sach; FILE *fp; int n, i; //Tao tep fp = fopen("SACH.DAT","wb"); if(fp==NULL) perror("Khong tao duoc tep SACH.DAT\n"); else { printf("Nhap so luong sach: "); scanf("%d", &n); printf("Nhap vao danh muc sach:"); for(i=0;i<n;i++) { printf("\nNhap danh muc sahc thu %d:\n", i+1); printf("\tTen sach: ");__fpurge(stdin); gets(sach.tenSach); printf("\tNam(yyyy): ");scanf("%d", &sach.nam); printf("\tTac gia: "); __fpurge(stdin); gets(sach.tacGia); printf("\tGia: ");scanf("%f", &sach.gia); //tinh loai if(sach.gia>50000) sach.loai = "CAO"; else if(sach.gia>=20000) sach.loai = "TB"; else sach.loai ="THAP"; //Ghi du lieu vao tep fwrite(&sach, sizeof(sach), 1, fp); } fclose(fp); } //doc tep fp = fopen("SACH.DAT","rb"); if(fp==NULL) perror("Khong mo duoc tep SACH.DAT!\n"); else { printf("\n\n---------------BANG DANH MUC SACH-----------------\n\n"); printf("Ten sach Nam Tac gia Gia Loai\n"); while(fread(&sach, sizeof(sach), 1, fp)>0) printf("%-30s %-4d %-30s %-9.2f %-s\n",sach.tenSach,sach.nam, sach.tacGia,sach.gia, sach.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