Bài 3.6Viế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ớ