Bài 3.6: Viết chương trình tạo tệp dữ liệu “LUONG.DAT” chứa
bảng lương của n nhân viên và in kết quả ra màn hình.
Bảng lương gồm các cột: Họ
tên, Ngày công, Lương chính, Thưởng, Tổng.
Nhập vào: Họ tên, Ngày công,
Lương chính.
Tính Thưởng, Tổng theo nguyên
tắc:
Thưởng = Lương chính x
2 nếu Ngày công > 25
Thưởng = Lương chính nếu Ngày công <= 25
Tổng = Lương chính + Thưởng
//Câu 3.6: #include <stdio.h> #include <stdio_ext.h> int main(void) { struct { char hoTen[30]; int ngayCong; float luongChinh, thuong, tong; }nv; FILE *fp; int n, i; printf("Nhap so luong nhanh vien: "); scanf("%d", &n); //Tao tep fp = fopen("LUONG.DAT","wb"); if(fp==NULL) perror("Khong tao duoc tep LUONG.DAT\n"); else { printf("Nhap vao danh sach nhan vien:"); for(i=0;i<n;i++) { printf("\nNhap nhan vien thu %d:\n", i+1); printf("\tHo ten: ");scanf(" "); gets(nv.hoTen); printf("\tNgay cong: ");scanf("%d", &nv.ngayCong); printf("\tLuong chinh: ");scanf("%f", &nv.luongChinh); //tinh thuong, tong if(nv.ngayCong>25) nv.thuong = nv.luongChinh*2; else nv.thuong = nv.luongChinh; nv.tong = nv.luongChinh + nv.thuong; //Ghi du lieu vao tep fwrite(&nv, sizeof(nv), 1, fp); } fclose(fp); } //doc tep fp = fopen("LUONG.DAT", "rb"); if(fp==NULL) perror("Khong mo duoc tep LUONG.DAT!\n"); else { printf("\n\n---------------BANG LUONG DA NHAPla:-----------------\n\n"); printf("Ho ten Ngay cong Luong chinh Thuong Tong\n"); while(fread(&nv, sizeof(nv), 1, fp)>0) printf("%-30s %-12d %-14.2f %-9.2f %-.2f\n",nv.hoTen,nv.ngayCong,nv.luongChinh,nv.thuong,nv.tong); 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