Разработка сценариев и реакций на события согласно сценариям
Нажатие на кнопку “Решить”. При нажатии на кнопку “Решить” происходит: а) проверка правильности исходных данных, и если данные не соответствуют типу (или не введен какой либо из коэффициентов), то выводится сообщение «Все коэффициенты системы должны быть числами», как показано на рисунке В.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; } }
Приложение Г
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (403)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |