Thứ Năm, 27 tháng 6, 2019

[C] Lưu 1 mảng Struct ra File dạng bảng ngang



/*
1. Tạo cấu trúc dữ liệu với các thông tin sinh viên
Tạo cấu trúc
Khai báo biến kiểu cấu trúc
Nhập dữ liệu vào biến
Hiện dữ liệu ra màn hình
Lưu biến ra file
*/

#include <stdio.h>
struct NhanVien
{
    char hoten[50];
    char chucvu[50];
    float mucluong;
    float mucchi;
};

int main ()
{
   //Khai bao truong phong kieu cau truc nhan vien
   NhanVien TP1;
   //Danh sach Nhan vien
   NhanVien ds[2];
   printf("Nhap gia tri: \n");
   for (int i = 0; i<2; i++)
   {
       //Xoa bo dem
       fflush(stdin);
       printf("\nNhap ho ten: ");
       gets(ds[i].hoten);
       printf("\nNhap chuc vu: ");
       gets(ds[i].chucvu);
       printf("Nhap muc luong: ");
       scanf("%f",&ds[i].mucluong);
       printf("Nhap muc chi:");
       scanf("%f",&ds[i].mucchi);
   }

   printf("\n----------Hien ra man hinh dang bang ngang----------\n");
   printf("%-20s %-30s %-10s %-10s\n", "Ho Ten", "Chuc vu", "Muc luong", "Muc Chi");

    for (int i = 0; i < 2; i++)
    {
        printf("%-20s %-30s %-7.2f %-7.2f\n", ds[i].hoten,ds[i].chucvu,ds[i].mucluong,ds[i].mucchi);
    }

   printf("\n----------Luu ra file----------\n");
   //3.1 Khai bao con tro kieu file
   FILE *fptr;
   //3.2 Mo file
   fptr = fopen("D:\\Nhanvien.txt","w");
   //3.3 Kiem tra xem file co ton tai khong
   if(fptr == NULL)
   {
      printf("Error!");
      return (1);
   }
   //3.4 Bat dau luu ra file
   printf("\n----------Dang luu ra file bang doc----------\n");
   for (int i = 0; i<2; i++)
   {
       fprintf(fptr,"Nhan vien thu %d\n",i+1);
       fprintf(fptr,"Ho ten: %s\n",ds[i].hoten);
       fprintf(fptr,"Chuc vu: %d\n",ds[i].chucvu);
       fprintf(fptr,"Muc luong: %5.2f\n",ds[i].mucluong);
       fprintf(fptr,"Muc chi: %5.2f\n",ds[i].mucchi);
   }


   //3.4.2. In dang bang ngang
   printf("\n----------Dang luu file dang bang ngang----------\n");
   fprintf(fptr,"%-20s %-30s %-10s %-10s\n", "Ho Ten", "Chuc vu", "Muc luong", "Muc Chi");
   for (int i = 0; i < 2; i++)
   {
       fprintf(fptr,"%-20s %-30s %-10.2f %-10.2f\n", ds[i].hoten,ds[i].chucvu,ds[i].mucluong,ds[i].mucchi);
   }
   //3.5. Dong file
   fclose(fptr);
   return 0;
}

Không có nhận xét nào:

Đăng nhận xét