Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема роботи- Розробка та тестування програми з обробником події OnCrete для форми

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

PAGE  1

Лабораторна робота  № 3 _ 2

Лабораторна робота  № 3 _ 2

Тема роботи: Розробка та тестування програми з обробником події OnCreate для форми. Використання компонентів TCheckBox, TRadioGroup.

Мета роботи: Вивчення прийомів побудови додатка в середовищі C++Builder з обробником події OnCreate для форми. Використання компонентів TCheckBox, TRadioGroup.

Теоретичні відомості При запуску програми виникає подія OnCreate («создание формы»). Обробник цієї події використають для виконання підготовчих дій (ініціалізації параметрів, встановлення початкових значень тощо).

При создании программ в C++ Builder для организации разветвлений часто используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено - выключено) визуально отражается на форме. На форме представлены кнопки-переключатели двух типов (TCheckBox, TRadioGroup).

Компонент TCheckBox создает кнопку независимого переключателя, с помощью которой пользователь может указать свое решение типа да/нет. В программе состояние кнопки связано со значением булевой переменной, которая проверяется с помощью оператора if.

Компонент TRadioGroup создает группу кнопок - зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программу передается номер включенной кнопки (0,1,2,...), который анализируется с помощью оператора switch. Если ни одна из кнопок не выбрана, номер включенной кнопки равен -1.

Постановка задачи: ввести три числа - x,y,z. Вычислить по усмотрению u=sin(x), u=cos(x) или u=tg(x). Найти по выбору максимальное из трех чисел: max(u,y,z), или max (|u|,|y|,|z|). Создать форму, представленную на рис. 2.1, и написать соответствующую программу.

Проектування інтерфейсу 

Спроектуйте інтерфейс у відповідності з формою, яка приведена на рисунку.

Выберите в меню компонентов Standard пиктограмму CheckBox и поместите ее в нужное место формы. С помощью инспектора объектов измените заголовок (Caption) на max/abs. Теперь в зависимости от того, нажата или нет кнопка,  булева переменная CheckBoxl->Checked будет принимать значение true или false.

Выберите в меню компонентов Standard пиктограмму RadioGroupl и поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroupl. Замените заголовок (Caption) на U(x). Для того чтобы разместить на компоненте кнопки, необходимо свойство Columns установить равным единице (кнопки размещаются в одном столбце). Дважды щелкните по правой части свойства Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три строки с именами: в первой строке -cos(x), во второй - sin(x), в третьей - tg(x), нажмите ОК.

После этого на форме внутри окаймления появится три кнопки-переключателя с введенными надписями.

Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroupl->ItemIndex будет находиться номер нажатой клавиши (отсчитывается от нуля), что используется в тексте приведенной программы.

Функции для обработки событий FormCreate и BottonlClick создаются в соответствии с текстом, который приведен ниже.

Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно.

Текст программы:

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Math.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{  }

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

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Edit1->Text="-0,1";

Edit2->Text="0,356";

Edit3->Text="0";

Memo1 ->Clear();

Memo1->Lines->Add("Виеонав Петров А.М., група ПЗ-10-1");

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double x,y,z,u,ma;

// Ввод исходных данных

x=StrToFloat(Edit1 ->Text);

y=StrToFloat(Edit2->Text);

z=StrToFloat(Edit3->Text);

// Проверка номера нажатой кнопки и выбор соответствующей ей функции

if  (RadioGroup1->ItemIndex == -1)

{

ShowMessage("Оберіть варіант функції!");

return;

}

else

{

switch(RadioGroup1->ItemIndex)

{

case 0: u=cos(x); break;

case 1: u=sin(x); break;

case 2: u=tan(x); break;

}

}

// вывод в окно Memo1

Memo1 ->Lines->Add("x="+Edit1 ->Text);

Memo1->Lines->Add("y="+Edit2->Text);

Memo1->Lines->Add("z="+Edit3->Text);

if (CheckBox1->Checked) // Проверка состояния кнопки CheckBox1

{

u=fabs(u);

y=fabs(y);

z=fabs(z);

}

// Нахождение максимального из трех чисел

if (u>y) ma=u;

else ma=y;

if (z>ma) ma=z;

if (CheckBox1->Checked)

Memo1->Lines->Add("maxabc="+ FloatToStrF(ma,ffFixed,8,6));

else Memo1->Lines->Add("max="+ FloatToStrF(ma,ffFixed,8,6));

}

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

2.5. Индивидуальное задание

В качестве f(x) использовать по выбору: sh(x), x2, ех. Создать новый проект, поставить интерфейс формы в соответствие заданию. Создать текст обработчиков событий программы, выполняющих поставленную задачу. Предусмотреть вывод информации, показывающий, по какой ветви производились вычисления.




1. а состоят из водосточных воронок расположенных в пониженных точках крыши и принимающих атмосферные воды; от
2. Юнитаб СанктПетербург Хозяйственное поведение предприятия в рыночной среде является результатом взаимоо
3. Роль налогов в современном государстве Сущность налогообложения находится на стыке финансовоэкономичес
4. і Питання про місце фольклору в системі загальнонародної мови поки що остаточно не з~ясоване
5. Методы диагностики структурных единиц группы и уровня её развития
6. 112012 ~ отр 30
7. ЮгЛидер Представитель в городе Мурманске компания ООО Диамант Технолоджи
8. Фазовые равновесия в системе MgSY2S3
9. Персональный менеджмент
10. TLKER ~ 52 Аннотация-
11. Современные подходы к организации работы СМИ
12. тема выживания населения и защита территорий в чрезвычайных ситуациях; Часть 3- Радиационная безопасность
13.  Художественная повествовательная литература
14. Анархия
15. Расчет камеры для холодильной обработки мяса
16. Об аудиторской деятельности
17. исполнительный документ
18. Лекция 9. Подпрограммы- примеры решения задач Примеры решения задач Задача 9.
19. тема реферата Основная часть
20. Электроэнергетическое хозяйство РФ