Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kurs_7_var.doc
Скачиваний:
1
Добавлен:
03.09.2019
Размер:
601.09 Кб
Скачать

Главный модуль Unit1.Cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <stdio.h>

#include <DateUtils.hpp>

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

#include "bibl.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "sEdit"

#pragma resource "*.dfm"

TForm1 *Form1;

int n=0;

FILE *f2;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void setka1(TStringGrid *sg)

{sg->Cells[0][0]="№";

sg->Cells[1][0]="Фамилия";

sg->Cells[2][0]="Имя";

sg->Cells[3][0]="Отчество";

sg->Cells[4][0]="Пол";

sg->Cells[5][0]="Должность";

sg->Cells[6][0]="Дата приема";

}

void setka2(TStringGrid *sg,int i)

{sg->Cells[1][i+1]=AnsiString(r.fam);

sg->Cells[2][i+1]=AnsiString(r.im);

sg->Cells[3][i+1]=AnsiString(r.o);

sg->Cells[4][i+1]=AnsiString(r.p);

sg->Cells[5][i+1]=AnsiString(r.dol);

sg->Cells[6][i+1]=DateTimeToStr(r.d);

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{f=fopen("a.dat","ab+");

strcpy(r.fam,Edit1->Text.c_str());

strcpy(r.im,Edit2->Text.c_str());

strcpy(r.o,Edit3->Text.c_str());

strcpy(r.p,ComboBox1->Text.c_str());

strcpy(r.dol,Edit4->Text.c_str());

r.d=StrToDateTime(Edit5->Text);

fwrite(&r,sizeof(r),1,f);

n++;

fclose(f);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{setka1(sg1);

int i=0,k=0;

f=fopen("a.dat","rb+");

while(fread(&r,sizeof(r),1,f)>0)

{setka2(sg1,i);

i++;}

for(int j=1;j<=n;j++)

sg1->Cells[0][j]=IntToStr(j);

sg1->RowCount=i+1;

fclose(f);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{setka1(sg2); float sr=0;

int i=0,k=0;

f=fopen("a.dat","rb+");

sg2->Cells[7][0]="Средний стаж";

while(fread(&r,sizeof(r),1,f)>0)

{sr+=YearsBetween(TDateTime(Now()),TDateTime(r.d));

k++;} sr=sr/k;

fclose(f); f=fopen("a.dat","rb+");

while(fread(&r,sizeof(r),1,f)>0)

if((float)YearsBetween(TDateTime(Now()),TDateTime(r.d))>sr)

{sg2->Cells[7][i+1]=IntToStr(YearsBetween(TDateTime(Now()),TDateTime(r.d)));

setka2(sg2,i);

i++;}

for(int j=1;j<=i;j++)

sg2->Cells[0][j]=IntToStr(j);

sg2->RowCount=i+1;

fclose(f);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{Memo1->Clear();

int i=0,k=0;

f=fopen("a.dat","rb+");

f2=fopen("b.txt","at+");

while(fread(&r,sizeof(r),1,f)>0)

if(AnsiString(r.p)=="М")

{char *w=DateTimeToStr(r.d).c_str();

fprintf(f2,"%s %s %s %s %s %s\n",r.fam,r.im,r.o,r.p,r.dol,w);}

sg2->RowCount=i;

fclose(f);

fclose(f2);

Memo1->Lines->LoadFromFile("b.txt");

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

f=fopen("a.dat","wb");

Form4=new TForm4(this);

Form4->ShowModal();

Form4->Free();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)

{

Form3->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N4Click(TObject *Sender)

{

Form2->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{setka1(sg3);

int i,k=kol(f);

rab *mas=new rab[k];

formir(f,mas,k);

sort(mas,k);

for(i=0;i<k;i++)

{sg3->Cells[1][i+1]=AnsiString(mas[i].fam);

sg3->Cells[2][i+1]=AnsiString(mas[i].im);

sg3->Cells[3][i+1]=AnsiString(mas[i].o);

sg3->Cells[4][i+1]=AnsiString(mas[i].p);

sg3->Cells[5][i+1]=AnsiString(mas[i].dol);

sg3->Cells[6][i+1]=AnsiString(mas[i].d);

}

sEdit1->Text=IntToStr(k);

for(int j=1;j<=k;j++)

sg3->Cells[0][j]=IntToStr(j);

sg3->RowCount=k+1;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N2Click(TObject *Sender)

{

f=fopen("a.dat","wb");

f2=fopen("b.txt","wt");

fclose(f);

fclose(f2);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]