
Добавил:
masterdos
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая работа / KURSOVA_ROBOTA / Дроби / SumMasivUnit
.cpp#include <vcl.h>
#pragma hdrstop
#include "SumMasivUnit.h"
#include "FracUnit.h"
#include "CalculateFrac.h"
#include "Math.h"
int count=11,i;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TSumMassivForm *SumMassivForm;
//---------------------------------------------------------------------------
__fastcall TSumMassivForm::TSumMassivForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TSumMassivForm::FormActivate(TObject *Sender)
{
count=11;
Button2->Enabled=false; Button1->Enabled=false; Button4->Enabled=true;
StringGrid1->ColCount=count;
for(i=1;i<count;i++)
{
StringGrid1->Cells[i][0]="";
StringGrid1->Cells[i][1]="";
}
Edit1->Clear(); Edit2->Clear(); Edit3->Clear(); Edit4->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TSumMassivForm::Button4Click(TObject *Sender)
{
Button2->Enabled=true; Button1->Enabled=true; Button4->Enabled=false;
if(Edit1->Text.Length()==0)
{
ShowMessage("Поле має бути заповненим!");
return;
}
count=StrToInt(Edit1->Text);
if(count<2)
{
ShowMessage("Допустима розмірність: більше '1'!");
return;
}
count++;
StringGrid1->ColCount=count;
}
//---------------------------------------------------------------------------
void __fastcall TSumMassivForm::Button2Click(TObject *Sender)
{
Button2->Enabled=false; Button1->Enabled=false; Button4->Enabled=true;
count=11;
StringGrid1->ColCount=count;
for(i=1;i<count;i++)
{
StringGrid1->Cells[i][0]="";
StringGrid1->Cells[i][1]="";
}
Edit1->Clear(); Edit2->Clear(); Edit3->Clear(); Edit4->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TSumMassivForm::Button3Click(TObject *Sender)
{
SumMassivForm->Close();
MainForm->Show();
}
//---------------------------------------------------------------------------
void __fastcall TSumMassivForm::StringGrid1KeyPress(TObject *Sender,
char &Key)
{
if(((Key>='0')&&(Key<='9'))||(Key==VK_BACK)||(Key=='-'))
return;
Key=0;
}
//---------------------------------------------------------------------------
void __fastcall TSumMassivForm::Button1Click(TObject *Sender)
{
int a,b,A=0,h=0,e=1;
for(int i=1;i<count;i++)
if((StringGrid1->Cells[i][0].Length()==0)||(StringGrid1->Cells[i][1].Length()==0))
{
ShowMessage("Заповнені не всі поля!");
return;
}
CalculateFrac *Calculate=new CalculateFrac;
for(int i=1;i<count;i++)
{
a=StrToInt(StringGrid1->Cells[i][0]);
b=StrToInt(StringGrid1->Cells[i][1]);
if(b==0)
{
ShowMessage("Ділення на нуль!!");
return;
}
Calculate->AddFrac(a,b,h,e);
A+=Calculate->GetA();
h=Calculate->GetP();
e=Calculate->GetQ();
}
if(A!=0)
Edit4->Text=IntToStr(A);
if(h!=0)
{
Edit2->Text=IntToStr(h);
Edit3->Text=IntToStr(e);
}
if((A==0)&&(h==0))
Edit4->Text="0";
double S=A*e+h;
double SA=S/e;
SA/=(count-1);
Edit5->Text=FloatToStrF(SA,ffFixed,5,3);
Button1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TSumMassivForm::Edit1KeyPress(TObject *Sender, char &Key)
{
if(((Key>='0')&&(Key<='9'))||(Key==VK_BACK))
return;
Key=0;
}
//---------------------------------------------------------------------------
Соседние файлы в папке Дроби