ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.07.2024
Просмотров: 34
Скачиваний: 0
Зміст
1Постановка задачі 3
1.2 Вимоги до програми 3
2 Алгоритм розробки програми 4
3Теоретичні відомості 4
4
4Практична реалізація 5
4.1Опис класу TPostAddress 5
4.2Опис компонентів, що використовувалися у програмі 5
4.3Спеціальний атрибут для опису властивостей класу 5
4.4Спеціальний атрибут для опису властивостей класу 5
6Приклади тестування та результати роботи з програмою 8
-
Постановка задачі
1.1 Практичне завдання
Побудувати опис класу, що містить інформацію про поштову адресу організації. Передбачити можливість роздільної зміни складових частин адреси, створення та знищення об'єктів цього класу.
1.2 Вимоги до програми
Створити програму, яка містить адресу поштової організації.
Основні пункти меню програми:
-
введення міста, в якому розташована організація;
-
введення вулиці, на якій розташована організація;
-
введення номера будинку, в якому розташована організація;
-
поле для виведення адреси організації;
-
редагування адреси;
Побудувати програму використовуючи середовище С++ Builder.
Введення даних повинно відбуватися з перевіркою на область допустимих значень.
Використати опис класу для побудови інформації для поштової організації.
Передбачити можливість роздільної зміни складових частин адреси, створення та знищення об'єктів цього класу.
2 Алгоритм розробки програми
Створити робочу форму за допомогою засобів середовища С++ Builder.
Додати на форму необхідні компоненти для створення меню програми.
Створити файл модуля, в якому описати клас адреси поштової організації.
Описати властивість міста поштової організації.
Описати властивість вулиці поштової організації.
Описати властивість номера будинку поштової організації.
Описати властивість виведення повного адресу поштової організації.
Створити функцію виведення всіх частин класу.
Підключити модуль з класом поштової організації.
Зберегти та відкомпілювати створену програму.
-
Теоретичні відомості
В об'єктно-орієнтованому програмуванні, клас — це спеціальна конструкція об'єктно-орієнованої мови програмування, що використовується для групування пов'язаних змінних та функцій. При цьому згідно з термінологією ООП глобальні змінні класу (члени-змінні) називаються полями даних (також властивостями або атрибутами), а члени-функції називають методами класу. Створений та ініціалізований екземпляр класу називають об'єктом класу. На основі одного класу, можна створити безліч об'єктів, що відрізнятимуться один від одного своїм станом (значеннями полів).
Через методи реалізується поведінка об'єктів. Практично вся робота з об'єктами відбувається через методи. Вони можуть змінювати стан об'єкта або ж просто надавати доступ до даних інкапсульованих в об'єкті. Існує кілька видів методів, які мають деякі відмінності в різних мовах програмування. До методів та полів даних можна надавати різні права доступу, від яких залежатиме доступ до них з різних частин програмного коду. Права доступу та вид методів задаються модифікаторами при описі методів. Метод, який проводить створення та початкову ініціалізацію екземпляра класу називають конструктором класу. Метод, який проводить знищення об'єкта, називають деструктором класу.
-
Практична реалізація
-
Опис класу TPostAddress
-
FCity("") - конструктор, який відповідає за введення міста;
FStreet("") - конструктор, який відповідає за введення вулиці;
FNumber("") - конструктор, який відповідає за введення номера;
-
Опис компонентів, що використовувалися у програмі
__property String City – властивість, яка дозволяє читати та записувати місто.
__property String Street – властивість, яка дозволяє читати та записувати вулицю.
__property String Number – властивість, яка дозволяє читати та записувати номер будинку.
__property String FullAddress – властивість, яка дозволяє читати повну адресу поштової організацї.
__fastcall GetFullAddress() – формування повної адреси поштової організації.
-
Спеціальний атрибут для опису властивостей класу
Edit – компонент, що призначений для введення тексту.
Memo – компонент, що допомагає відобразити текст.
Button – компонент, при натисканні на який відбувається задана подія.
-
Спеціальний атрибут для опису властивостей класу
__property – властивість, що може мати функцію гетер (тільки для читання), сетер функцію (тільки запис), або гетер і сетер (для читання і запису).
-
Опис файлів та їх призначення
AdressPost.bpr – файл-проект середовища С++ Builder з основною програмою.
AdressPost.cpp – файл, в якому міститься код основної програми.
AdressPost.exe – скомпільований файл з програмою.
UPostAddress.h – файл, в якому описаний клас та його властивості.
Unit.h – файл, що містить набір модулів та компонентів, які використовуються в основній програмі.
-
Інструкція для роботи з програмою
Для початку роботи запустіть файл AdressPost.exe. На екрані з’являється форма, на якій розташовані основні пункти меню програми, які можна редагувати.
Перший компонент – «Змінити місто поштової організації». Для того, щоб змінити поточне місто поштової організації необхідно: видалити дані, що вже знаходилися в даному полі, та ввести свої. Після всіх змін – натиснути кнопку «Редагувати». Результат можна переглянути нижче, в спеціальному полі, де відображається вся адреса.
Другий компонент – «Змінити вулицю поштової організації». Для того, щоб змінити поточну вулицю поштової організації необхідно: видалити дані, що вже знаходилися в даному полі, та ввести свої. Після всіх змін – натиснути кнопку «Редагувати». Результат можна переглянути нижче, в спеціальному полі, де відображається вся адреса.
Третій компонент – «Змінити номер будинку поштової організації». Для того, щоб змінити номер будинку поштової організації необхідно: видалити дані, що вже знаходилися в даному полі, та ввести свої. Після всіх змін – натиснути кнопку «Редагувати». Результат можна переглянути нижче, в спеціальному полі, де відображається вся адреса.
Щоб вийти с програми – натисніть кнопку «Вихід».
-
Приклади тестування та результати роботи з програмою
Рис.1 Вид форми при запуску програми
Рис.2 Зміна міста поштової організації
Рис.3 Зміна вулиці поштової організації
Рис.5 Зміна номера будинку поштової організації
Висновок
Під час виконання курсової роботи я створив програму, що містить інформацію про поштову адресу організації, використовуючи програмне середовище Borland С++ Builder 6.
Виконавши роботу, отримав додаткові навички роботи у середовищі програмування Borland С++, розширив свої вміння до написання програм із застосуванням класів, також покращив свої знання при програмуванні в об’єктно-орієнтованому середовищі як одному з сучасних парадигм програмування.
Використовуючи навички роботи з класами, я значно спростив розробку програми, одночасно удосконаливши її роботу.
Мова програмування С++ є універсальна, процедурна мова програмування загального призначення, вона надає можливість створювати програми різного рівня складності, і різного спектру призначення і застосування.
Література
-
Архангельский А.Я. Программирование в С++ Builder 6, изд. Бином, 2010. – 1304 с.
-
Джосьютис Николай. C++ Стандартная библиотека. Для профессионалов. Издательство: Питер, 2004, 730 с.
-
Касаткин А.И., Вальвачев А.Н. Профессиональное программирование на языке Си. От Turbo C к Borland C++.- Минск: Высшая школа, 2495. — 810 с.
-
Керниган Б., Ритчи Д. Язык программирования Си.- М.: Финансы и статистика, 2492. — 635 с.
-
Подбельский В. В. Глава 8. Препроцессорные средства // ЯзыкСи++ / рец. Дадаев Ю. Г.. — 4. — М.: Финансы и статистика, 2003. — С. 263-280. — 560 с.
-
Страуструп Б. Язык программирования C++, спец. изд. Пер. с англ. — М.: "Издательство БИНОМ"; СПб.: Невский Диалект, 2001.
Додаток А
(обов’язковий)
Лістинг основної програми
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// Создание объекта адреса
PostAddress= new TPostAddress"Суми","пр. Шевченка",31);
Edit1->Text= PostAddress->City;
Edit2->Text= PostAddress->Street;
Edit3->Text= PostAddress->Number;
Memo1->Text= PostAddress->FullAddress;
}
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
// Удаление адреса
delete PostAddress;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
PostAddress->City= Edit1->Text;
PostAddress->Street= Edit2->Text;
PostAddress->Number= Edit3->Text;
Memo1->Text= PostAddress->FullAddress;
}
Додаток Б
(обов’язковий)
Лістинг модуля UPostAddress.h
#ifndef UPostAddressH
#define UPostAddressH
#include <Classes.hpp>
//-----------------------TPostAddress----------------------------------------
class TPostAddress: public TObject
{
public:
// конструкторы:
__fastcall TPostAddress():TObject(),FCity(""),FStreet(""),FNumber("") {};
__fastcall TPostAddress(String ACity, String AStreet,int ANumber)
:TObject(),FCity(ACity),FStreet(AStreet),FNumber(ANumber){};
// свойства:
__property String City= { read=FCity, write=FCity };
__property String Street= { read=FStreet, write=FStreet };
__property String Number= { read=FNumber, write=FNumber };
__property String FullAddress= { read= GetFullAddress };
protected:
String __fastcall GetFullAddress() // формирование полного адреса
{
return FCity+", "+ FStreet+" "+ Number;
}
private:
String FCity,FStreet,FNumber;
};