Лабораторная
работа 3
Проект
«Фунты-килограммы»
Написать
проект Фунты-килограммы, форма которой приведена на рис. 2, который позволяет
пересчитать вес из фунтов в килограммы. Проект проектировать так, чтобы
пользователь мог ввести в поля редактирования только правильные данные (числа)
и кнопка «Пересчет» стала доступной только в том случае, если пользователь ввел
исходные данные.
Компоненты: Label1 и Label2, Edit1, Button1 и Button2. Задайте свойства
компонентов согласно рисунку. Затем Напишите обработчики событий согласно
приведенных ниже.
Обработчик кода, который делает кнопку
«Пересчет» недоступным до ввода данных в поле редактирования Edit1
void _fastcall TForm1::TForm1(TComponent* Owner) :
TForm(Owner)
{
Button1->Enabled = False;
}
Обработчик, который проверяет, вводится
в поле Text компонента Edit1 число или другой символ
void _fastcall
TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key >= '0') && (Key <= '9'))
return;
if (Key == DecimalSeparator)
{
if ((Edit1->Text).Pos(DecimalSeparator) != 0)
Key = 0;
return;
}
if (Key == VK_BACK)
return;
if (Key == VK_RETURN)
{
Button1->SetFocus();
return;
}
Key = 0;
}
Обработчик, который проверяет, введены
ли данные в поле Text компонента Edit1. Если да, то кнопка
«Пересчет» становится доступной.
void _fastcall TForm1::Edit1Change(TObject *Sender)
{
if ( (Edit1->Text) .Length() == 0)
Button1->Enabled = False;
else
Button1->Enabled = True;
Label2->Caption = "";
}
Обработчик для кнопки «Пересчет»
void _fastcall TForm1::Button1Click(TObject *Sender)
{
double funt;
double kg;
funt =
StrToFloat(Edit1->Text);
kg = funt * 0.4995;
Label2->Caption = FloatToStrF(funt,ffGeneral,5,2)
+" ф. - это "
+FloatToStrF(kg,ffGeneral,5,2) + " кг";
}
Задачи
для самостоятельной работы
1.
Скидка
Напишите
программу вычисления стоимости покупки с учетом скидки. Скидка предоставляется,
если сумма превышает 1000 руб., а также в выходные дни. Рекомендуемый вид формы
приведен на рис. 1. В результате щелчка на кнопке Скидка в поле компонента Label должно появляться сообщение,
информирующее о предоставлении скидки, и итоговая сумма с учетом скидки.
Информацию о том, является ли день выходным, программа должна получать на
основе анализа текущей даты
Рис. 1. Форма
программы Скидка
2. Доход по
вкладу
Напишите
программу вычисления дохода по вкладу в банке. Доход вычисляется по
формуле: Д = С * (СР / 360) * (СТ / 100), где: С - сумма вклада; СР - срок
вклада (количество дней); СТ - процентная ставка (годовых). Рекомендуемый вид
формы приведен на рис. 2.
Рис. 2. Форма программы Доход по
вкладу