Разработка сценариев и реакций на события согласно сценариям. — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Разработка сценариев и реакций на события согласно сценариям.

2018-01-30 108
Разработка сценариев и реакций на события согласно сценариям. 0.00 из 5.00 0 оценок
Заказать работу

Нажатие на кнопку “Решить”.

При нажатии на кнопку “Решить” происходит:

а) проверка правильности исходных данных, и если данные не соответствуют типу (или не введен какой либо из коэффициентов), то выводится сообщение «Все коэффициенты системы должны быть числами», как показано на рисунке В.1;

Рисунок В.1

 

б) решение системы уравнений (после решения отбрасываются все ответы, где );

в) вывод ответа в зависимости от количества найденных в пункте б решений. Если найдено 2 решения, то выводятся , если найдено одно решение - , если решений нет, то выводится сообщение «Система уравнений не имеет решения!»

Текст сценария:

void __fastcall TMainForm::BtRasschetClick(TObject *Sender)

{

MResult->Clear();

double in_a = 0, in_b = 0, in_c = 0, in_d = 0;

try

{

in_a = StrToFloat(Eda->Text);

in_b = StrToFloat(Edb->Text);

in_c = StrToFloat(Edc->Text);

in_d = StrToFloat(Edd->Text);

}

catch (...)

{

ShowMessage ("Все коэффициенты системы уравнений должны быть числами!");

MResult->Lines->Add("Все коэффициенты системы уравнений должны быть числами!");

return;

}

long double resX1,resX2,resY1,resY2;

int reslt = solution_equation(in_a, in_b, in_c, in_d, resX1, resX2, resY1, resY2);

if (reslt == SQ_SUCCES_TWO_ROOT)

{

MResult->Lines->Add("Cистема имеет 2 решения:");

MResult->Lines->Add("x1 = " + FloatToStr(resX1) + "; y1 = "+ FloatToStr(resY1));

MResult->Lines->Add("x2 = " + FloatToStr(resX2) + "; y2 = "+ FloatToStr(resY2));

}

if (reslt == SQ_SUCCES_ALONE_ROOT)

{

MResult->Lines->Add("Cистема имеет 1 решение:");

MResult->Lines->Add("x = " + FloatToStr(resX1) + "; y = "+ FloatToStr(resY1));

}

if (reslt == SQ_ERROR_DIV_BY_ZERO) MResult->Lines->Add("Система уравнений не имеет решения из-за деления на 0!");

if (reslt == SQ_ERROR_NO_ROOT) MResult->Lines->Add("Система уравнений не имеет решения!"); }

 

Массовая обработка данных.

При нажатии первой кнопки “Выбрать” открывается форма для выбора файла с входными данными, как показано на рисунке В.2.

 

Рисунок В.2

 

Текст сценария:

void __fastcall TFormMas::SBInpClick(TObject *Sender)

{

if (OpenDialog1->Execute())

{

if(FileExists(OpenDialog1->FileName))

{

NameFileOpen = OpenDialog1->FileName;

}

else

ShowMessage("Такого файла не существует!");

}

}

При нажатии второй кнопки “выбрать” открывается форма для выбора файла с выходными данными, как показано на рисунке В.3.

 

Рисунок В.3

 

Текст сценария:

void __fastcall TFormMas::SBOutClick(TObject *Sender)

{

if (SaveDialog1->Execute())

{

NameFileSave = SaveDialog1->FileName;

}

}

При выборе кнопки решить происходит проверка входных данных, и если они не соответствуют заданному типу, то выводится сообщение «Указаны неправильные файлы данных!», как показано на рисунке В.4.

 

Рисунок В.4

 

Если не выбраны файл с исходными данными или файл для сохранения результатов, то выводится сообщение «Указаны не все файлы данных!», как показано на рисунке В.5.

Рисунок В.5

 

Текст сценария.

void __fastcall TFormMas::SBRasschetClick(TObject *Sender)

{

try

{

if ((NameFileSave!= "")&&(NameFileOpen!= "")) solution_with_files();

else ShowMessage("Выбраны не все файлы данных!");

}

catch(...)

{

ShowMessage("Указаны неправильные файлы данных!");

return;

}

}

 


Приложение Г

 


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.