Bài 4.6: Viết chương trình tạo tệp dữ liệu “HANG.DAT” chứa
bảng Thống kê hàng nhập của n mặt hàng và in kết quả ra màn hình.
Bảng Thống kê hàng nhập gồm các cột:
Tên, Số lượng, Đơn giá, Tiền,
Loại.
Nhập vào: Tên, Số lượng, Đơn
giá.
Tính Tiền, Loại: Tiền
= Số lượng x Đơn giá.
Loại = “Cao” nếu
Tiền > 500000.
Loại = “THAP” nếu
Tiền <= 500000.
//Câu 4.6: #include <stdio.h> #include <stdio_ext.h> int main(void) { struct { char tenMH[30], loai; int soLuong; float donGia, tien; }mh; FILE *fp; int n, i; //Tao tep fp = fopen("HANG.DAT","wb"); if(fp==NULL) perror("Khong tao duoc tep HANG.DAT\n"); else { printf("Nhap so luong mat hang: "); scanf("%d", &n); printf("Nhap vao danh sach mat hang:"); for(i=0;i<n;i++) { printf("\nNhap mat hang thu %d:\n", i+1); printf("\tTen mat hang: ");__fpurge(stdin); gets(mh.tenMH); printf("\tSo luong: ");scanf("%d", &mh.soLuong); printf("\tDon gia: ");scanf("%f", &mh.donGia); //tinh tien, loai mh.tien = mh.soLuong*mh.donGia; if(mh.tien>500000) mh.loai = "CAO"; else mh.loai = "THAP"; //Ghi du lieu vao tep fwrite(&mh, sizeof(mh), 1, fp); } fclose(fp); } //doc tep fp = fopen("HANG.DAT","rb"); if(fp==NULL) perror("Khong mo duoc tep HANG.DAT!\n"); else { printf("\n\n---------------BANG THONG KE HANG NHAP-----------------\n\n"); printf("Ten mat hang So luong Don gia Tien Loai\n"); while(fread(&mh, sizeof(mh), 1, fp)>0) printf("%-30s %-9d %-12.2f %-9.2f %-s\n",mh.tenMH,mh.soLuong, mh.donGia, mh.tien, mh.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