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ớ
0 Nhận xét