Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2016, 13:53   #1
Nagato
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 12
По умолчанию Сортировка по алфавиту.

Информация о работниках предприятия включает: ФИО работника, ставку почасовой оплаты, количество отработанных часов за месяц. Вывести информацию о з/пл сотрудников (упорядочить ФИО по алфавиту ), учесть следующее: если сотрудник за месяц отработал более 180 часов – з/пл увеличивается вдвое.

Помогите вывести информацию о з/пл сотрудников (упорядочить ФИО по алфавиту )

Код:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 type
  tprep=record
    name:string[40];
    chas:integer;
    stavka:array[1..2] of integer;
    itog:integer;

  end;
var
  Form1: TForm1;
  fz: file of tprep;
  ft:textfile;
  prep:array[1..100] of tprep;
  nzap:integer;
  filenameZ,filenameT:string;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
     memo1.clear;
  button1.hide;
  nzap:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    nzap:=nzap+1;
  with prep[nzap] do begin
   name:=edit1.text;
   chas:=strtoint(edit2.text);
   stavka[1]:=strtoint(edit3.text);
   itog:=((stavka[1])*chas);
   if chas>=180 then
    begin
   itog:=((stavka[1])*chas)*2
     end;
   memo1.lines.add(name+''+inttostr(chas)+''+inttostr(stavka[1]));
  end;
  write(fz,prep[nzap]);
  edit1.text:='';
  edit2.text:='';
  edit3.text:='';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     opendialog1.title:='—оздать новый файл';
  if opendialog1.Execute then
  begin
    filenamez:=opendialog1.filename;
    assignfile(fz,filenameZ);
    rewrite(fz);
  end;
  button1.show;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
     if opendialog1.execute then
   begin
     filenameZ:=opendialog1.filename;
     assignfile(fz,filenamez);
     reset(fz);
   end;
   while not eof(fz) do begin
    nzap:=nzap+1;
    read(fz,prep[nzap]);
    with prep[nzap] do
     memo1.lines.add(name+' '+inttostr(chas)+' '+inttostr(stavka[1]));
   end;
   button1.show;
end;

procedure TForm1.Button4Click(Sender: TObject);
 var i,j:word;
 pr:tprep;
begin
     for i:=1 to nzap-1 do
    for j:=i+1 to nzap do
    if prep[i].itog<prep[j].itog then begin
      pr:=prep[i];
      prep[i]:=prep[j];
      prep[j]:=pr;
    end;
    memo1.clear;
    for i:=1 to nzap do
    with prep[i] do
     memo1.lines.add(inttostr(i)+' '+name+' '+inttostr(itog));
end;

procedure TForm1.Button5Click(Sender: TObject);
    var i:word;
begin
    if savedialog1.execute then
   begin
     filenamet:=savedialog1.filename;
     assignfile(ft,filenamet);
     rewrite(ft);

   end;
   for i:=1 to nzap do
   with prep[i] do
    writeln(ft,i:4,'.',name,itog);
   closefile(ft);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
close;
end;

end.

Последний раз редактировалось Аватар; 22.11.2016 в 14:33.
Nagato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка по алфавиту nick999 Общие вопросы C/C++ 0 23.03.2014 20:09
Сортировка по алфавиту aerocool Помощь студентам 14 06.02.2013 16:26
Сортировка по алфавиту. asmars Общие вопросы C/C++ 3 17.04.2012 00:42
Сортировка по алфавиту Cpluser Общие вопросы C/C++ 7 03.03.2010 10:11