Изучение управляющих элементов Label, Edit и Button
Изучать наиболее часто используемые управляющие элементы Label, Edit и Button легче, написав программу, например, для расчета суммы вклада в банке с учетом процентной ставки. Для создания формы используются компоненты: Label – для подписей; Edit – для ввода и вывода; Button – для инициирования вычислений. Рекомендуемая компоновка формы программы представлена на рисунке 1. Рисунок 1 – Рекомендуемая компоновка формы
Для создания такой формы необходимо выполнить следующие действия. 1. Запустить C ++ Builder. При запуске автоматически создается новый проект. Окно C ++ Builder показано на рисунке 2. Для создания нового проекта, в случае если он не создался автоматически или вы его закрыли, необходимо выполнить команду меню File / New /Application.
Рисунок 2 – Интерфейс среды программирования C ++ Builder
2. Сохранить проект, выполнив команду меню File / Save Project As. При этом, будет сохранено несколько файлов проекта. 3. На панели компонентов выбрать вкладку Standard, выбрать компонент Label и щелкнуть левой кнопкой мыши по форме. На этой же вкладке выбрать компонент Edit и Button . Расположить четыре объекта Label, четыре объекта Edit, один объект Button на форму как показано на рисунке 1. 4. Изменить подпись формы. Для этого выбрать форму (щелкнуть по заголовку формы) и в окне свойств объекта во вкладке Properties изменить значение свойства Caption (рис. 3). Вместо подписи Form1 ввести «Вклад». Рисунок 3 – Свойство формы Caption (подпись)
5. Изменить подписи объектов Label1 - Label4 в соответствии с рисунком 1. Для этого выбрать каждый объект Label и в окне свойств объекта во вкладке Properties изменить значение свойства Caption. 6. Убрать текст из объектов Edit1 – Edit4 (например, в поле Edit1 написано «Edit1»). Для этого выбрать каждый объект Edit и в окне свойств объекта во вкладке Properties очистить значение свойства Text. 7. Поскольку объект Edit4 мы будем использовать для вывода результата (то есть заполняться он будет по нажатию на кнопку, а не вручную), нужно изменить его свойство ReadOnly на значение true (что позволит сделать объект Edit4 только для чтения). 8. Изменить подпись кнопки Button1. Для этого выбрать объект Button1 и в окне свойств объекта во вкладке Properties изменить значение свойства Caption на «Вычислить». Объекты Edit1 – Edit3 предназначены для ввода числовых данных, необходимых для расчета суммы вклада. Для того чтобы пользователь не смог ввести буквы или другие символы, которые могу вызвать ошибку при расчетах, необходимо сделать обработчик нажатий клавиш на клавиатуре. Для этого необходимо выбрать объект Edit1 и в окне свойств объекта открыть вкладку Events («События») . В появившемся списке найти событие OnKeyPress («по нажатию клавиши») и сделать двойной щелчок левой кнопкой мыши по пустому полю. В появившейся заготовке функции написать код обработки нажатия клавиш:
void __fastcall TForm1:: Edit1KeyPress(TObject *Sender, char & Key) { if ((Key> ='0' & & Key< ='9')||(Key==', ')||(Key==(char)8)) {} else Key=0; }
Этим действием все клавиши будут отфильтрованы на клавиатуре кроме цифровых от 0 до 9, запятой и BackSpase (код клавиши 8). Нажатие ненужных клавиш будет игнорироваться. Для объектов Edit2 и Edit3 на обработку события OnKeyPress следует подключить уже созданную функцию Edit1KeyPress. Для этого необходимо выбрать эту функцию в выпадающем списке события OnKeyPress. 9. Общая сумма вклада на один год рассчитывается по формуле: ОбщСумма=Сумма*Ставка /100
Общая сумма вклада на n -лет рассчитывается по формуле: , если ОбщСумма 0= Сумма Для реализации расчета в программе необходимо добавить обработчик нажатия кнопки Button1. Для этого дважды щелкнуть по объекту Button1 и в появившейся заготовке функции написать программный код расчета суммы вклада. По тексту программного кода даны комментарии, пошагово описывающие последовательность действий, а для возможности использования функции округления ceil необходимо подключить модуль math.h (в начале кода программы): #include< math.h>
void __fastcall TForm1:: Button1Click(TObject *Sender) { int i; //объявление переменной для цикла float summa; //объявление переменной для начальной суммы вклада int srok; // объявление переменной для срока вклада float stavka; // объявление переменной для размера ставки по вкладу float summa_vklada; //объявление переменной для расчета общей суммы вклада
//проверка заполнения полей Edit1-Edit3 if (Edit1-> Text==" " || Edit2-> Text==" " || Edit3-> Text==" ") { //если хоть одно поле не заполнено выдается сообщение ShowMessage(" Заполените все поля"); return; //завершение выполнения функции }
/*в переменную summa помещаем значение из поля Edit1 как вещественное число*/ summa=Edit1-> Text.ToDouble(); /*в переменную srok помещаем значение из поля Edit2 как целое число*/ srok=Edit2-> Text.ToInt(); /*в переменную stavka помещаем значение из поля Edit3 как вещественное число*/ stavka=Edit3-> Text.ToDouble(); //изначально общая сумма вклада равна начальной сумме вклада summa_vklada=summa;
//выполняем цикл столько раз на сколько лет был оформлен вклад for (i=1; i< =srok; i++) //в цикле расчитываем общую сумму вклада summa_vklada=summa_vklada+summa_vklada*stavka/100;
//округляем общую сумму до 2 знаков, преобразовываем вещественный //тип данных в строковый и записываем в Edit4 Edit4-> Text=FloatToStr(ceil(summa_vklada*100)/100); }
Сохраняется проект нажатием кнопки на панели инструментов. Далее проводится отладка и тестирование программы.
Задание 1. Написать программу расчета стоимости поездки на автомобиле, если известна цена бензина (руб./л), потребление бензина (литр на 100 км) и расстояние (км). Защитить программу.
|