Четвер, 25.04.2024
Творча лабораторія

Навчальні посібники та робочі зошити з інформатики - якісно і дешево


Меню сайту
Реклама
Категорії каталогу
MS Visual C++ 2005 Express Edition [3]
Середовища програмування [8]
Особливості встановлення та використання різних середовищ програмування
MS Visual Basic 6 [1]
Microsoft Visual Basic
C# [8]
Програмування мовою C#
C++ [3]
Паскаль [5]
ЛОГО [1]
Олімпіадне програмування [0]
Python [1]
Головна » Статті » Програмування » MS Visual C++ 2005 Express Edition

Задача про конверт і листівку

Нові статті

[19.02.2020] [C#]
Задача про розрізання квадрата (ООП, C#)
[09.02.2020] [Python]
Задача про розрізання квадрата (ООП, Python)
[06.02.2020] [Паскаль]
Задача про розрізання квадрата (ООП, Free Pascal)

Задача

Розробити програму для перевірки, чи поміститься прямокутна листівка з розмірами А і В у конверт з розмірами К і М так, щоб сторони листівки і конверта були попарно паралельні.

Опис роботи програми

  1. Вікно програми після запуску має такий вигляд:

  2. Після введення даних про розміри до текстових полів і клацання кнопки нижній напис («***») змінюється на один з трьох: «Листівка поміститься», «Листівка не поміститься» або «Перевірка неможлива. Некоректні дані».
  3. При редагуванні даних в текстових полях нижній напис знову набуває попереднього вигляду («***»).

Послідовність виконання

1)    Створити проект за шаблоном Windows Forms Application і назвати його UsingIf.

2)    Розмістити на формі три написи (Label), чотири текстових поля (TextBox) та кнопку (Button) так, як показано на малюнку.

3)    Для кнопки написати такий обробник події Click:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
double A,B,K,M;

A=Convert::ToDouble(textBox1->Text);
B=Convert::ToDouble(textBox2->Text);
K=Convert::ToDouble(textBox3->Text);
M=Convert::ToDouble(textBox4->Text);

if ((K<A)&&(M<B)||(M<A)&&(K<B))
label3->Text="Листівка поміститься";
else
label3->Text="Листівка не поміститься";
}

Перевірте працездатність програми при введенні правильних даних. Для введення десяткових дробів використовуйте, як розділювач, кому. Переконайтесь, що при введенні некоректних даних виконання програми аварійно завершується.

Для виходу з діалогового вікна, що повідомляє про помилку слід скористатись кнопкою Break, а після цього припинити сеанс відлагодження, подавши у вікні системи програмування команду меню Debug/Stop Debugging.

4)    Створіть для події TextChanged текстових полів обробники, що містять лише одну команду:

                label3->Text="***";

Переконайтесь, запустивши програму, що при редагуванні даних у текстових полях нижній напис відображає зірочки і лише при клацанні кнопки виводить результат перевірки.

5)    Для того, щоб уникнути аварійного припинення роботи програми скористаємося механізмом обробки виняткових ситуацій (try{}catch(…){}). Для цього код обробника для кнопки слід змінити так :

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
double A,B,K,M;
try {            //Початок захищеного блоку
A=Convert::ToDouble(textBox1->Text);
B=Convert::ToDouble(textBox2->Text);
K=Convert::ToDouble(textBox3->Text);
M=Convert::ToDouble(textBox4->Text);

if ((K<A)&&(M<B)||(M<A)&&(K<B))
label3->Text="Листівка поміститься";
else
label3->Text="Листівка не поміститься";
}            //Кінець захищеного блоку

catch (...)     //Початок блоку обробки виняткових ситуацій
{
label3->Text="Перевірка неможлива. Некоректні дані";
}            //Кінець блоку обробки виняткових ситуацій
}

Зверніть увагу, що порядок перевірки правильності введених даних у програмі не описаний. Натомість, ми ніби запропонували комп’ютеру: «Спробуй (try) виконати ці команди, а якщо щось виконати неможливо, то перейди до команд з блоку catch». Тут використано найпростіший зі способів обробки виняткових ситуацій: незалежно від того, яка помилка трапилась, реакція комп’ютера буде однаковою - виведеться текст «Перевірка неможлива. Некоректні дані».

Таким чином, механізм обробки виняткових ситуацій значно підвищує ефективність роботи програміста.

Завдання для вдосконалення проекту

  1. Доповніть проект, щоб при клацанні на написові з результатом перевірки текстові поля очищались, а напис змінювався на зірочки («***»).
  2. Доповніть програму для перевірки, чи можна просунути цеглину з розмірами К, М, Р у отвір в стіні з розмірами А і В.

Интернет реклама
Категорія: MS Visual C++ 2005 Express Edition | Додав: teachlab (19.07.2008)
Переглядів: 2094 | Рейтинг: 0.0/0
Всього коментарів: 0
Додавати коментарі можуть тільки зареєстровані користувачі.
[ Реєстрація | Вхід ]
Форма входу
Пошук
Друзі сайту

Підтримка

Система Orphus

Маєте свій сайт?
Заробіть на ньому грошей!


Не маєте власного сайту?
Заробіть на обміні файлами!
Статистика
Copyright Пилипчук О.П. © 2024
div id=