YOMEDIA
NONE

Viết chương trình quản lí cán bộ. Thông tin về cán bộ gồm tên, tuổi, hệ số lương, phụ cấp, thu nhập.

a) Nhập thông tin cán bộ từ file văn bản CANBO.TXT. Các thông tin gồm tên, tuổi, hệ số lương, phụ cấp, mỗi thông tin trên một dòng.

 350000đ + phụ cấp´Tính thu nhập = hệ số lương

b) Đưa ra danh sách các bộ trẻ (tuổi <= 30), in đầy đủ các thông tin

c) Sắp xếp tên cán bộ theo abc và ghi lên file truy cập trực tiếp SAPXEP.DAT.

d) Đọc danh sách từ file SAPXEP.DAT, in ra màn hình các cán bộ có thu nhập từ 3 triệu trở lên.

Theo dõi Vi phạm
ATNETWORK

Trả lời (1)

  • Toàn văn chương trình:

    uses crt;

    type

        canbo = record

              ten : string[20];

              tuoi : byte;

              hsl, phucap, thunhap: real;

        end;

    var

       ds : array[1..100] of canbo;

       n : integer;

    (*********************************************)

    procedure nhap;

    var f : text;

    begin

         assign(f,'CANBO.TXT'); reset(f);

         n := 0;

         while not eof(f) do begin

               n := n + 1;

               with ds[n] do begin

                    readln(f,ten);

                    readln(f,tuoi);

                    readln(f,hsl);

                    readln(f,phucap);

                    thunhap := hsl * 350000 + phucap;

               end;

         end;

         close(f);

    end;

    (*********************************************)

    procedure in30;

    var i : integer;

    begin

         writeln('DANH SACH CAC CAN BO TRE:');

         for i := 1 to n do

             with ds[i] do

                  if tuoi <= 30 then begin

                     writeln('Ten:',ten);

                     writeln('Tuoi:',tuoi);

                     writeln('He so luong:',hsl :0 :3);

                     writeln('Phu cap:',phucap :0 :3);

                     writeln('Thu nhap:',thunhap :0 :3);

                  end;

    end;

    (*********************************************)

    procedure sxep;

    var i,j : integer;

        tg : canbo;

    begin

         for i := 1 to n do

             for j := i + 1 to n do

                 if ds[i].ten > ds[j].ten then begin

                    tg := ds[i]; ds[i] := ds[j]; ds[j] := tg;

                 end;

    end;

    (*********************************************)

    procedure ghitep;

    var f : file of canbo;

        i : integer;

    begin

         assign(f,'SAPXEP.DAT'); rewrite(f);

         for i := 1 to n do write(f,ds[i]);

         close(f);

    end;

    procedure doctep;

    var f : file of canbo;

        i : integer;

    begin

         assign(f,'SAPXEP.DAT'); reset(f);

         i := 0;

         while not eof(f) do begin

               i := i + 1;

               read(f,ds[i]);

         end;

         n := i;

         close(f);

    end;

    (*********************************************)

    procedure in3M;

    var i : integer;

    begin

         writeln('DANH SACH CAC CAN BO CO THU NHAP CAO:');

         for i := 1 to n do

             with ds[i] do

                  if thunhap >= 3000000 then begin

                     writeln('Ten:',ten);

                     writeln('Tuoi:',tuoi);

                     writeln('Thu nhap:',thunhap :0 :3);

                  end;

    end;

     

    (*********************************************)

    BEGIN

         nhap;

         in30;

         sxep;

         in3M;

         readln;

    END.

      bởi A La 30/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON