Разработка системы оповещения населения на предприятии ПАО 'Севералмаз'

Тип:
Добавлен:

АКАДЕМИЯ УПРАВЛЕНИЯ ПРИ ПРЕЗИДЕНТЕ РЕСПУБЛИКИ БЕЛАРУСЬ

ИНСТИТУТ УПРАВЛЕНЧЕСКИХ КАДРОВ

ФАКУЛЬТЕТ ИННОВАЦИОННОЙ ПОДГОТОВКИ

Кафедра управления информационными ресурсами

Специальность «Управление информационными ресурсами»

КУРСОВАЯ РАБОТА

по дисциплине «Алгоритмизация и программирование»

на тему «Создание конвертера величин на Visual C++»

Минск 2016

ВВЕДЕНИЕ

В современном мире компьютерного программирования существует широкий выбор языков высокого уровня, например, C, С++, Perl, BASIC, Java, C#. Все они превосходны и подходят для решения практически любых задач программирования. Однако есть ряд причин, по которым многие специалисты компьютерной индустрии ставят С++ на первое место.

С++ - язык мощный и гибкий. Единственное ограничение возможностей работы на нём - пределы собственной фантазии. Сам язык почти никаких ограничений не накладывает. Он используется при разработке таких программных продуктов, как операционные системы, текстовые редакторы, графические приложения, программы делопроизводства и даже компиляторы других языков.

С++ - популярный язык. Следствие этого - наличие большого количества разнообразных компиляторов и дополнений к ним.

С++ - хорошо переносимый язык. Программу на С++, написанную для одной компьютерной системы (например, для IBM PC), можно скомпилировать и запустить в другой среде (скажем, на DEC VAX) без особых и даже без всяких изменений. Этому способствует стандарт ANSI, который устанавливает требования к компиляторам С++.

С++ отвечает трем основным принципам объектно-ориентированного программирования (ООП), а именно:

Инкапсуляции;

Наследованию;

Полиморфизму.

Инкапсуляция - это механизм программирования, объединяющий вместе код и данные, которыми он манипулирует, исключая как вмешательство извне, так и неправильное использование данных. В объектно-ориентированном языке данные и код могут быть объединены в совершенно автономный черный ящик. Внутри такого ящика находятся все необходимые данные и код. Когда код и данные связываются вместе подобным образом, создается объект. Иными словами, объект - это элемент, поддерживающий инкапсуляцию. То есть, инкапсуляция представляет собой способности языка скрывать излишние детали реализации от пользователя.

Наследование - процесс, в ходе которого один объект приобретает свойства другого. Это очень важный процесс, поскольку он обеспечивает принцип иерархической классификации.

Полиморфизм - способность языка трактовать связанные объекты в сходной манере. В частности, этот принцип ООП позволяет базовому классу определять набор членов (формально называемый полиморфным интерфейсом), которые доступны всем наследникам. Полиморфный интерфейс класса конструируется с использованием любого количества виртуальных или абстрактных членов.

Целью данной курсовой работы является получение и закрепление навыков разработки и создания программного продукта, позволяющего решить задачи, поставленные в условии курсовой работы. Условием данной курсовой работы является создание конвертера величин (массы, длины, площади, объема), согласно английской системе мер.

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

Данная курсовая работа выполнена на языке программирования высокого уровня Visual С++ с использованием компилятора Microsoft Visual Studio 2012.

ГЛАВА 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

.1 Необходимость перевода мер в исторические и национальные единицы

В мире существует множество альтернативных систем и единиц измерения, и, наверное, каждый из нас не раз сталкивался с необходимостью перевода единиц из одной системы измерения в другую, а также с желанием вычислить какую-то величину по определенной формуле, возможно, очень простой, но довольно нудной. Подсчеты вручную имеют довольно большую вероятность ошибки, поэтому разработано множество специализированных калькуляторов и конверторов величин из различных систем измерения, как широко используемых (метрическая, американская), так и довольно экзотических (японская, древнегреческая, старорусская). Их количество постоянно растет, а функционал расширяется, что способствует более быстрому и качественному выполнению намеченных целей.

.2 Конверторы на ПК и мобильных устройствах

Существует огромное количество программных продуктов, позволяющих осуществить перевод величин из одной системы счисления в другую, в частности, простейшие преобразования можно осуществить, вызвав соответствующий калькулятор на мобильном телефоне (стандартно встроен во все устройства Android). Однако существуют и более сложные программные продукты, основной целью которых является перевод из одних единиц в другие. Некоторые из них, а именно Versaverter и Conversions In Hand, я опишу в данной курсовой работе.для ПК

Для перевода величин есть очень хорошая универсальная программа Versaverter - мощный конвертор, который поддерживает около 800 типов конвертирования.

Эта бесплатная утилита может сильно облегчить жизнь инженерам и студентам. Versaverter конвертирует величины в различные системы измерения и предлагает 39 различных категорий, включая книгопечатание, передачу данных, длину, энергию, массу и т.д.

При этом единицы измерения и категории постоянно добавляются. Пользователь может автоматически модернизировать модуль конвертации внутри приложения Versaverter, нажав иконку «Проверить обновления». Тогда автоматически загрузится новый файл Units.xml с добавлениями и установится свежая база данных конвертируемых единиц.

Те, кто не может разобраться в программе Versaverter, могут прочитать инструкцию - в дистрибутиве есть файл userguide.pdf с подробными пояснениями. Важной особенностью является то, что программа имеет встроенный калькулятор.In Hand для ПК

Для пользователей ПК существует еще один мощный конвертор единиц измерения Conversions In Hand, который поддерживает более 200 типов данных, включая валюты разных стран. Поскольку курсы валют быстро меняются, пользователи могут обновлять параметры настройки перевода валют из сети Интернет, легко загружая обновленный файл кросс-курсов с Web-сайта компании-производителя (<#"justify">

Программа разработана для компьютеров под управлением Windows 98/Mе/2000/XP/7/8. Также существует мобильная версия данной программы.

В программе реализованы разные формулы пересчета - начиная от переводов размера одежды и обуви для стран США, Великобритании, Европы и Японии и заканчивая подсчетом НДС. Помимо формул для перевода, Conversions In Hand содержит справочные данные о телефонных кодах и номерах различных стран и городов, а также легко вычисляет количество дней между двумя указанными датами по календарю.

.3 Конверторы в сети Интернет

Различных ресурсов для перевода величин много и в сети Интернет, где вы можете рассчитать все необходимое на соответствующем сайте. Из русскоязычных можно отметить ресурс #"justify">вес и масса - системы измерения веса (массы), включая метрическую, американскую, тройскую, британскую аптечную, японскую, тайскую, старорусскую, старофранцузскую, древнегреческую и римскую;

длина и расстояние - меры длины, включая метрическую, британскую и американскую, японскую, тайскую, старорусскую, древнегреческую и римскую; морские, типографские и астрономические единицы;

объем и вместимость - меры объема, включая метрические, американские, британские, японские, тайские, старорусские единицы объема жидких и сыпучих веществ;

площадь - единицы площади, в том числе метрические, британские, американские, японские, старорусские;

скорость - несколько наиболее широко используемых единиц скорости;

температура - соответствие между абсолютными или относительными температурными величинами, заданными по различным шкалам;

время - перевод времени из различных единиц (астрономические единицы имеют точные значения);

давление - единицы давления, включая метрические, милиметры ртутного столба, а также некоторые другие;

энергия, работа - единицы работы и энергии: метрические (джоуль, киловатт-час), британские и американские (BTU, терм), а также единицы тротилового эквивалента;

мощность - единицы мощности: метрические (ватт и его производные), британские и американские (BTU в единицу времени), внесистемные единицы (лошадиные силы, калории в единицу времени);

момент силы (крутящий момент) - единицы крутящего момента: метрические (ньютон-метр, килограмм силы-метр), а также британские и американские (фунт силы/фут и др.);

угловая мера - перевод единиц угловой меры (градусы, радианы, морской румб и т.д.);

компьютерные единицы - перевод единиц, использующихся в компьютерной сфере: бит, байт, килобайт, мегабайт и т.п.;

расход бензина - расход горючего в Беларуси (и Европе) измеряется в литрах на 100 км, а в США - в милях на галлон;

кулинария - перевод американских и метрических единиц массы и объема для различных кулинарных ингредиентов.

Полезные конверторы и необычные калькуляторы разработаны в Беларуси - <#"justify">ГЛАВА 2. ПРАКТИЧЕСКАЯ ЧАСТЬ

.1 Условие задачи

Написать программный продукт, который будет состоять из нескольких конвертеров (конвертер массы, конвертер длины, конвертер площади, конвертер объема), между которыми будет организовано переключение, реализуемое с помощью кнопок, которые будут находиться вверху программного окна.

.2 Алгоритм (блок-схема) задачи

оздаются функциональные элементы программы (кнопки, метки, текстовые окна) в MyForm.h [Design].

(это делается с помощью меню Toolbox)

С помощью меню Properties изменяются имена этих функциональных элементов в интерфейсе окна программы.

Создается дополнительная метка, которой присваивается приветственное сообщение. Далее, при выборе нужного конвертера, ей присваивается сообщение о завершении работы программы при вводе символов, а при нажатии кнопки Computing значение этой метки зануляется (т.е. ей присваивается имя ).

Также зануляются значения остальных меток (т.е. в приветственном окне им присваются имена ).

Двойным кликом по каждой из кнопок прописывается функционал каждой из этих кнопок (при этом нужные имена всех меток, которые мы занулили в пункте 4, прописываются отдельно в каждой из кнопок, переключающих конвертеры (в данном случае это кнопки mass, length, square, space)).

Далее осуществляется переход к разработке кода кнопки Computing - основной кнопки данной программы, благодаря которой осуществляется перевод величин в каждом конвертере.

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

.3 Исходный код и его описание

конвертер код приложение величина

//В языках программирования Си и C++ #pragma once - нестандартная, но широко распространенная препроцессорная директива

//разработанная для контроля за тем, чтобы конкретный исходный файл при компиляции подключался строго один раз

//подключение библиотеки, позволяющей использовать универсальный строковый тип данных

#include <tchar.h>

//задание пространства имен программы ConverterLengthConverterLength {

//пространство имен System дает нам функции для управления пользовательским интерфейсомnamespace System;

//пространство имен ComponentModel предоставляет классы, которые используются для реализации во время выполнения и разработки

//это пространство имен включает в себя базовые классы и интерфейсы, атрибуты и преобразователи типа

//классы в этом пространстве имен делятся на следующие категории:

//-основные классы

//-компоненты лицензирования (лицензии)

//-атрибуты

//-дескрипторы

//-преобразователи типаnamespace System::ComponentModel;

//пространство имен Collections содержит интерфейсы и классы, которые определяют различные коллекции объектов, таких как списки, очереди

//битовые массивы, хэш-таблицы и словариnamespace System::Collections;

//пространство имен Windows:Forms содержит классы для создания приложений на базе Windows

//которые в полной мере используют богатые возможности пользовательского интерфейса, доступные в ОС Microsoft Windows

using namespace System::Windows::Forms;

//пространство имен Data обеспечивает доступ к классам, которые представляют архитектуру ADO.NET, которая позволяет создавать

//компоненты, которые эффективно управляют данными из различных источниковnamespace System::Data;

//пространство имен Drawing обеспечивает доступ к функциям FDI и к основному графическому функционалу

using namespace System::Drawing;

//программный комментарий// Summary for MyForm

//определение производного класса с именем MyForm. Члены класса являются компонентами интерфейса

//оператор :: существует для того, чтобы можно было обращаться к тем функциям, типам, и переменным,

//которые лежат в каких-либо пространствах имён, либо полям, принадлежащим определённому классу

//оператор : используется при определении областей видимости в классе и при наследовании одного класса от интерфейсов, либо от других классов

public ref class MyForm : public System::Windows::Forms::Form

{

//открытый тип класса:

//void используется тогда, когда функции не надо возвращать какое-либо значение, например, ей надо только что-нибудь посчитать

//и вывести результат нигде не сохраняя(void)

{

//вызов InitializeComponent(), который обычно вызывается в конструкторе по умолчанию

//на самом деле, это метод вызова частичного класса контроля

InitializeComponent();

//программный комментарий//TODO: Add the constructor code here

}

//ключевое слово protected определяет доступ к членам класса в листе членов до следующего спецификатора доступа (public или private)

//или до конца определения класса

//члены класса, объявленные как защищенные, могут быть использованы только:

//-функциями-членами класса, которые первоначально объявили данные члены класса

//-дружественными классами, которые первоначально объявили данные члены класса

//-производными классами с public или protected - доступом из класса, в котором первоначально были объявлены эти члены класса

protected:

//программный комментарий

/// <summary>

/// Clean up any resources being used.

/// </summary>

~MyForm()

{(components)

{components;

}

}

//создание текстового окна, куда пользователь будет вводить исходные данные

private: System::Windows::Forms::TextBox^ textBox1;

//ключевое слово private определяет, что эти члены класса доступны только функциям-членам и друзьям класса

// ^ - это операция, аналогичная объявлению указателя в обычном C++, только с тем различием, что объекты, имеющие тип "управляемых" указателей

//размещаются на управляемой куче, в отличие от обычных указателей C++, которые смотрят на объекты только в неуправляемой куче:

//создание различных функциональных компонентов программы, а именно лейблов (текстовых меток) и кнопок

private: System::Windows::Forms::Label^ label1;: System::Windows::Forms::Label^ label2;: System::Windows::Forms::Label^ label3;: System::Windows::Forms::Label^ label4;: System::Windows::Forms::Label^ label5;: System::Windows::Forms::Label^ label21;: System::Windows::Forms::Label^ label22;: System::Windows::Forms::Label^ label23;: System::Windows::Forms::Label^ label24;: System::Windows::Forms::Label^ label25;: System::Windows::Forms::Label^ label6;: System::Windows::Forms::Label^ label7;: System::Windows::Forms::Label^ label8;: System::Windows::Forms::Label^ label9;: System::Windows::Forms::Label^ label10;: System::Windows::Forms::Label^ label11;: System::Windows::Forms::Label^ label12;: System::Windows::Forms::Label^ label13;: System::Windows::Forms::Label^ label14;: System::Windows::Forms::Label^ label15;: System::Windows::Forms::Label^ label16;: System::Windows::Forms::Label^ label17;: System::Windows::Forms::Label^ label18;: System::Windows::Forms::Label^ label19;: System::Windows::Forms::Label^ label20;: System::Windows::Forms::Label^ label26;: System::Windows::Forms::Label^ label27;: System::Windows::Forms::Label^ label28;: System::Windows::Forms::Label^ label29;: System::Windows::Forms::Label^ label30;: System::Windows::Forms::Label^ label31;: System::Windows::Forms::Button^ button1;: System::Windows::Forms::Label^ label32;: System::Windows::Forms::Button^ button2;: System::Windows::Forms::Button^ button3;: System::Windows::Forms::Button^ button4;: System::Windows::Forms::Label^ label33;: System::Windows::Forms::Button^ button5;

//ключевое слово private определяет, что эти члены класса доступны только функциям-членам и друзьям класса

private:

//программный комментарий

/// <summary>

/// Required designer variable.

/// </summary>

//создание контейнера для компонентов::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code

//Программный комментарий

/// <summary>

/// the contents of this method with the code editor.

/// </summary>

//инициализация компонентов (функциональных элементов)InitializeComponent(void)

{

//gcnew - это операция выделения памяти для одного или нескольких управляемых объектов на управляемой куче

//во всем блоке программы, предоставленном ниже этой записи

//выделяется память для объектов типов:

//System::Windows::Forms::TextBox())

//System::Windows::Forms::Label())

//System::Windows::Forms::Button())

//с конструктором по-умолчанию (пустые скобки после типа)>textBox1 = (gcnew System::Windows::Forms::TextBox());>label1 = (gcnew System::Windows::Forms::Label());>label2 = (gcnew System::Windows::Forms::Label());>label3 = (gcnew System::Windows::Forms::Label());>label4 = (gcnew System::Windows::Forms::Label());>label5 = (gcnew System::Windows::Forms::Label());>label21 = (gcnew System::Windows::Forms::Label());>label22 = (gcnew System::Windows::Forms::Label());>label23 = (gcnew System::Windows::Forms::Label());>label24 = (gcnew System::Windows::Forms::Label());>label25 = (gcnew System::Windows::Forms::Label());>label6 = (gcnew System::Windows::Forms::Label());>label7 = (gcnew System::Windows::Forms::Label());>label8 = (gcnew System::Windows::Forms::Label());>label9 = (gcnew System::Windows::Forms::Label());>label10 = (gcnew System::Windows::Forms::Label());>label11 = (gcnew System::Windows::Forms::Label());>label12 = (gcnew System::Windows::Forms::Label());>label13 = (gcnew System::Windows::Forms::Label());>label14 = (gcnew System::Windows::Forms::Label());>label15 = (gcnew System::Windows::Forms::Label());>label16 = (gcnew System::Windows::Forms::Label());>label17 = (gcnew System::Windows::Forms::Label());>label18 = (gcnew System::Windows::Forms::Label());>label19 = (gcnew System::Windows::Forms::Label());>label20 = (gcnew System::Windows::Forms::Label());>label26 = (gcnew System::Windows::Forms::Label());>label27 = (gcnew System::Windows::Forms::Label());>label28 = (gcnew System::Windows::Forms::Label());>label29 = (gcnew System::Windows::Forms::Label());>label30 = (gcnew System::Windows::Forms::Label());>label31 = (gcnew System::Windows::Forms::Label());>button1 = (gcnew System::Windows::Forms::Button());>label32 = (gcnew System::Windows::Forms::Label());>button2 = (gcnew System::Windows::Forms::Button());>button3 = (gcnew System::Windows::Forms::Button());>button4 = (gcnew System::Windows::Forms::Button());>label33 = (gcnew System::Windows::Forms::Label());>button5 = (gcnew System::Windows::Forms::Button());

//предотвращение автозаполнения страницы>SuspendLayout();

// описание функциональных звеньев, а точнее, задание их параметров

// textBox1

//задание местоположения textBox1. Сюда же в скобках вписываются координаты

this->textBox1->Location = System::Drawing::Point(200, 92);

//задание границ textBox1. Заполнение внутреннего пространства между телом элемента пользовательского интерфейса и его границами

this->textBox1->Margin = System::Windows::Forms::Padding(4);

//задание имени textBox1>textBox1->Name = L"textBox1";

//задание размера>textBox1->Size = System::Drawing::Size(171, 22);

//задание индекса элемента>textBox1->TabIndex = 0;

//

// label1

//

//включение автоподбора размера в соответствии с информацией

this->label1->AutoSize = true;

//задание шрифта>label1->Font = (gcnew System::Drawing::Font(L"Times New Roman" /*тип*/, 9.75F, System::Drawing::FontStyle::Regular /*стиль шрифта*/,

System::Drawing::GraphicsUnit::Point, /*GraphicsUnit задает единицу измерения для данных, в данном случае это точка*/ _cast<System::Byte>(204))); /*оператор static_cast м.б. использован для таких операций как преобразование*/

/*указателя на базовый класс в указатель на производный класс*/

//задание местоположения. В скобках вписываются координаты

this->label1->Location = System::Drawing::Point(16, 308);

//задание границ label1. Заполнение внутреннего пространства между телом элемента пользовательского интерфейса и его границами

this->label1->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);

//задание имени>label1->Name = L"label1";

//задание размера>label1->Size = System::Drawing::Size(13, 19);

//задание индекса элемента>label1->TabIndex = 1;

//зануление значения лейбла на приветственной странице> label1->Text = L" ";

//команды, аналогичные используеым в label1, используются в остальных label'ax

//те фрагменты кода, которые были откомментированы для label1, для остальных функциональных элементов повторно комментироваться не будут

//

// label2

// >label2->AutoSize = true;>label2->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label2->Location = System::Drawing::Point(16, 341);>label2->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label2->Name = L"label2";>label2->Size = System::Drawing::Size(13, 19);>label2->TabIndex = 2;>label2->Text = L" ";

//

// label3

// >label3->AutoSize = true;>label3->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label3->Location = System::Drawing::Point(16, 373);>label3->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label3->Name = L"label3";>label3->Size = System::Drawing::Size(13, 19);>label3->TabIndex = 3;>label3->Text = L" ";

//

// label4

// >label4->AutoSize = true;>label4->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label4->Location = System::Drawing::Point(16, 412);>label4->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label4->Name = L"label4";>label4->Size = System::Drawing::Size(13, 19);>label4->TabIndex = 4;>label4->Text = L" ";

//

// label5

// >label5->AutoSize = true;>label5->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label5->Location = System::Drawing::Point(16, 452);>label5->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label5->Name = L"label5";>label5->Size = System::Drawing::Size(13, 19);>label5->TabIndex = 5;>label5->Text = L" ";

//

// label21

// >label21->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label21->Location = System::Drawing::Point(155, 452);>label21->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label21->Name = L"label21";>label21->Size = System::Drawing::Size(125, 16);>label21->TabIndex = 25;>label21->Text = L" ";

//выравнивание текста>label21->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label22

// >label22->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label22->Location = System::Drawing::Point(155, 412);>label22->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label22->Name = L"label22";>label22->Size = System::Drawing::Size(125, 16);>label22->TabIndex = 24;>label22->Text = L" ";>label22->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label23

// >label23->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label23->Location = System::Drawing::Point(155, 373);>label23->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label23->Name = L"label23";>label23->Size = System::Drawing::Size(125, 16);>label23->TabIndex = 23;>label23->Text = L" ";>label23->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label24

// >label24->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label24->Location = System::Drawing::Point(155, 341);>label24->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label24->Name = L"label24";>label24->Size = System::Drawing::Size(125, 16);>label24->TabIndex = 22;>label24->Text = L" ";>label24->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label25

// >label25->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label25->Location = System::Drawing::Point(155, 308);>label25->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label25->Name = L"label25";>label25->Size = System::Drawing::Size(125, 16);>label25->TabIndex = 21;>label25->Text = L" ";>label25->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label6

// >label6->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label6->Location = System::Drawing::Point(444, 452);>label6->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label6->Name = L"label6";>label6->Size = System::Drawing::Size(141, 16);>label6->TabIndex = 30;>label6->Text = L" ";>label6->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

// label7

// >label7->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label7->Location = System::Drawing::Point(444, 412);>label7->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label7->Name = L"label7";>label7->Size = System::Drawing::Size(141, 16);>label7->TabIndex = 29;>label7->Text = L" ";>label7->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label8

// >label8->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label8->Location = System::Drawing::Point(444, 373);>label8->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label8->Name = L"label8";>label8->Size = System::Drawing::Size(141, 16);>label8->TabIndex = 28;>label8->Text = L" ";>label8->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label9

// >label9->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label9->Location = System::Drawing::Point(444, 341);>label9->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label9->Name = L"label9";>label9->Size = System::Drawing::Size(141, 16);>label9->TabIndex = 27;>label9->Text = L" ";>label9->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label10

// >label10->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label10->Location = System::Drawing::Point(444, 308);>label10->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label10->Name = L"label10";>label10->Size = System::Drawing::Size(141, 16);>label10->TabIndex = 26;>label10->Text = L" ";>label10->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label11

// >label11->AutoSize = true;>label11->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label11->Location = System::Drawing::Point(336, 452);>label11->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label11->Name = L"label11";>label11->Size = System::Drawing::Size(13, 19);>label11->TabIndex = 35;>label11->Text = L" ";

//

// label12

// >label12->AutoSize = true;>label12->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label12->Location = System::Drawing::Point(336, 412);>label12->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label12->Name = L"label12";>label12->Size = System::Drawing::Size(13, 19);>label12->TabIndex = 34;>label12->Text = L" ";

//

// label13

// >label13->AutoSize = true;>label13->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label13->Location = System::Drawing::Point(336, 373);>label13->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label13->Name = L"label13";>label13->Size = System::Drawing::Size(13, 19);>label13->TabIndex = 33;>label13->Text = L" ";

//

// label14

// >label14->AutoSize = true;>label14->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label14->Location = System::Drawing::Point(336, 341);>label14->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label14->Name = L"label14";>label14->Size = System::Drawing::Size(13, 19);>label14->TabIndex = 32;>label14->Text = L" ";

//

// label15

// >label15->AutoSize = true;>label15->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label15->Location = System::Drawing::Point(336, 308);>label15->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label15->Name = L"label15";>label15->Size = System::Drawing::Size(13, 19);>label15->TabIndex = 31;>label15->Text = L" ";

//

// label16

// >label16->AutoSize = true;>label16->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label16->Location = System::Drawing::Point(664, 452);>label16->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label16->Name = L"label16";>label16->Size = System::Drawing::Size(13, 19);>label16->TabIndex = 40;>label16->Text = L" ";

//

// label17

// >label17->AutoSize = true;>label17->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label17->Location = System::Drawing::Point(664, 412);>label17->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label17->Name = L"label17";>label17->Size = System::Drawing::Size(13, 19);>label17->TabIndex = 39;>label17->Text = L" ";

//

// label18

// >label18->AutoSize = true;>label18->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label18->Location = System::Drawing::Point(664, 373);>label18->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label18->Name = L"label18";>label18->Size = System::Drawing::Size(13, 19);>label18->TabIndex = 38;>label18->Text = L" ";

//

// label19

// >label19->AutoSize = true;>label19->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label19->Location = System::Drawing::Point(664, 341);>label19->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label19->Name = L"label19";>label19->Size = System::Drawing::Size(13, 19);>label19->TabIndex = 37;>label19->Text = L" ";

//

// label20

// >label20->AutoSize = true;>label20->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label20->Location = System::Drawing::Point(664, 308);>label20->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label20->Name = L"label20";>label20->Size = System::Drawing::Size(13, 19);>label20->TabIndex = 36;>label20->Text = L" ";

//

// label26

// >label26->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label26->ImageAlign = System::Drawing::ContentAlignment::MiddleRight;>label26->Location = System::Drawing::Point(776, 452);>label26->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label26->Name = L"label26";>label26->Size = System::Drawing::Size(119, 16);>label26->TabIndex = 45;>label26->Text = L" ";>label26->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label27

// >label27->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label27->ImageAlign = System::Drawing::ContentAlignment::MiddleRight;>label27->Location = System::Drawing::Point(776, 412);>label27->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label27->Name = L"label27";>label27->Size = System::Drawing::Size(119, 16);>label27->TabIndex = 44;>label27->Text = L" ";>label27->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label28

// >label28->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label28->ImageAlign = System::Drawing::ContentAlignment::MiddleRight;>label28->Location = System::Drawing::Point(776, 373);>label28->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label28->Name = L"label28";>label28->Size = System::Drawing::Size(119, 16);>label28->TabIndex = 43;>label28->Text = L" ";>label28->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label29

// >label29->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label29->ImageAlign = System::Drawing::ContentAlignment::MiddleRight;>label29->Location = System::Drawing::Point(776, 341);>label29->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label29->Name = L"label29";>label29->Size = System::Drawing::Size(119, 16);>label29->TabIndex = 42;>label29->Text = L" ";>label29->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label30

// >label30->Font = (gcnew System::Drawing::Font(L"Times New Roman", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label30->ImageAlign = System::Drawing::ContentAlignment::MiddleRight;>label30->Location = System::Drawing::Point(776, 308);>label30->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label30->Name = L"label30";>label30->Size = System::Drawing::Size(119, 16);>label30->TabIndex = 41;>label30->Text = L" ";>label30->TextAlign = System::Drawing::ContentAlignment::MiddleRight;

//

// label31

// >label31->AutoSize = true;>label31->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 14.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label31->Location = System::Drawing::Point(29, 85);>label31->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label31->Name = L"label31";>label31->Size = System::Drawing::Size(147, 29);>label31->TabIndex = 46;>label31->Text = L"Income Data";

//

// button1

//все поля, которые не будут откомментированы для кнопки button1, уже были откомментированы для label1

this->button1->Location = System::Drawing::Point(637, 75);>button1->Margin = System::Windows::Forms::Padding(4);>button1->Name = L"button1";>button1->Size = System::Drawing::Size(293, 57);

this->button1->TabIndex = 47;

//название кнопки в интерфейсе программы

this->button1->Text = L"Computing";

//UseVisualStyleBackColor получает или задает значение, указывающее, задает ли закладка фон

//используя текущий визуальный стиль, когда визуальные стили включены. В данном случае это включено о чем свидетельствует true>button1->UseVisualStyleBackColor = true;

//описание действий при нажатии

this->button1->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);

//в стартовом окне программы данному лейблу присвоено приветственное сообщение. Далее, как только пользователь выбрал необходимый

//калькулятор, данное сообщение зануляется, а именно, ему присваивается значение "пробел"

//AnchorStyles указывает способ привязки элемента управления к краям своего контейнера

//это перечисление имеет атрибут FlagsAttribute, поддерживающий побитовое соединение составляющих его значений.

this->label32->Anchor = static_cast<System::Windows::Forms::AnchorStyles>((((System::Windows::Forms::AnchorStyles::Top

| System::Windows::Forms::AnchorStyles::Bottom)

| System::Windows::Forms::AnchorStyles::Left)

| System::Windows::Forms::AnchorStyles::Right));>label32->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 15.75F, System::Drawing::FontStyle::Regular, ::Drawing::GraphicsUnit::Point, _cast<System::Byte>(204)));>label32->Location = System::Drawing::Point(31, 158);>label32->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);>label32->Name = L"label32";>label32->Size = System::Drawing::Size(847, 76);>label32->TabIndex = 48;>label32->Text = L"Hello! Click to the convertor you need.";>label32->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;

//

// button2

// >button2->Location = System::Drawing::Point(16, 4);>button2->Margin = System::Windows::Forms::Padding(4);>button2->Name = L"button2";>button2->Size = System::Drawing::Size(157, 47);>button2->TabIndex = 49;>button2->Text = L"Mass";>button2->UseVisualStyleBackColor = true;>button2->Click += gcnew System::EventHandler(this, &MyForm::button2_Click);

//

// button3

// >button3->Location = System::Drawing::Point(200, 4);>button3->Margin = System::Windows::Forms::Padding(4);>button3->Name = L"button3";>button3->Size = System::Drawing::Size(175, 47);>button3->TabIndex = 50;>button3->Text = L"Length";>button3->UseVisualStyleBackColor = true;>button3->Click += gcnew System::EventHandler(this, &MyForm::button3_Click);

//

// button4

// >button4->Location = System::Drawing::Point(396, 4);>button4->Name = L"button4";>button4->Size = System::Drawing::Size(188, 47);>button4->TabIndex = 51;>button4->Text = L"Square";>button4->UseVisualStyleBackColor = true;>button4->Click += gcnew System::EventHandler(this, &MyForm::button4_Click);

//

// label33

// >label33->AutoSize = true;>label33->Location = System::Drawing::Point(47, 124);>label33->Name = L"label33";>label33->Size = System::Drawing::Size(0, 17);>label33->TabIndex = 52;

//

// button5

// >button5->Location = System::Drawing::Point(611, 4);>button5->Name = L"button5";>button5->Size = System::Drawing::Size(190, 47);>button5->TabIndex = 53;>button5->Text = L"Space";>button5->UseVisualStyleBackColor = true;>button5->Click += gcnew System::EventHandler(this, &MyForm::button5_Click);

//программный комментарий

// MyForm>AutoScaleDimensions /*Получает или задает размеры, для которых элемент управления был предназначен*/

= System::Drawing::SizeF /*структура SizeF сохраняет упорядоченную пару чисел с плавающей точкой, обычно ширину и высоту прямоугольника*/

(8, 16);>AutoScaleMode /* данное свойство возвращает или задает режим автоматического масштабирования элемента управления*/

/*в данном случае - шрифта*/

= System::Windows::Forms::AutoScaleMode::Font;

//в свою очередь, AutoScaleMode-перечисление задает различные типы режимов автоматического масштабирования, поддерживаемых Windows Forms

//размер клиентской области фоормы>ClientSize = System::Drawing::Size(943, 495);

//получение коллекции элементов управления

//проще говоря, перечисление функциональных элеменов программы (кнопок, лейблов и текстовых окон)

this->Controls->Add(this->button5);>Controls->Add(this->label33);>Controls->Add(this->button4);>Controls->Add(this->button3);>Controls->Add(this->button2);>Controls->Add(this->label32);>Controls->Add(this->button1);>Controls->Add(this->label31);>Controls->Add(this->label26);>Controls->Add(this->label27);>Controls->Add(this->label28);>Controls->Add(this->label29);>Controls->Add(this->label30);>Controls->Add(this->label16);>Controls->Add(this->label17);>Controls->Add(this->label18);>Controls->Add(this->label19);>Controls->Add(this->label20);>Controls->Add(this->label11);>Controls->Add(this->label12);>Controls->Add(this->label13);>Controls->Add(this->label14);>Controls->Add(this->label15);>Controls->Add(this->label6);>Controls->Add(this->label7);>Controls->Add(this->label8);>Controls->Add(this->label9);>Controls->Add(this->label10);>Controls->Add(this->label21);>Controls->Add(this->label22);>Controls->Add(this->label23);>Controls->Add(this->label24);>Controls->Add(this->label25);>Controls->Add(this->label5);>Controls->Add(this->label4);>Controls->Add(this->label3);>Controls->Add(this->label2);>Controls->Add(this->label1);>Controls->Add(this->textBox1);>Margin = System::Windows::Forms::Padding(4);>Name = L"MyForm";>Text = L"ConvertLengthBritainVersion";>Load += gcnew System::EventHandler(this, &MyForm::MyForm_Load);

//принудительное отображение отложенных запросов макета отключено>ResumeLayout(false);

//заставляет программу применять логику макета ко всем его дочерним элементам управления>PerformLayout();

}

//задание основного функционала программы

//программа устроена таким образом, что изначально при ее запуске Вам необходимо осуществить выбор нужного калькулятора

//первоначально в окне программы Вы увидите приветственное сообщение и просьбу выбрать калькулятор

//затем, по мере выбора необходимого калькулятора вы увидите значения величин, в которые вы сможете с его помощью перевести исходную

//НЮАНС программы заключается в том, что если вы осуществили перевод на одном из калькуляторов, а затем переключились на другой

//то на другом калькуляторе остаются значения переведенных величин от другого калькулятора

//если Вам необходимо ввести это же число в новый калькулятор, то нажмите кнопку Computing

//если же Вы хотите ввести другое число, то введите его и снова нажмите кнопку Computing

//директива #pragma region позволяет указать блок кода, который можно

//разворачивать и сворачивать с помощью функции структурирования в редакторе кода Visual Studio

//директива #pragma endregion обозначает конец блока #pragma region

#pragma endregion

//инициализация переменных

//Переменные типа Double хранятся как 64-разрядные (8-байтные) IEEE-числа двойной точности с плавающей запятой и знаком

//которые изменяются в диапазоне от -1,79769313486231570E+308 до -4,94065645841246544E-324 для отрицательных значений

//и от 4,94065645841246544E-324 до 1,79769313486231570E+308 для положительных. Числа двойной точности сохраняют приближенные значения действительных чиселmetr, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11, var12, var13, var14, var15;

//задание функционала кнопке Computing

//проще говоря, данный фрагмент кода отвечает за то, что будет происходить при нажатии кнопки Computing

//sender - ссылка на тот объект, который вызвал то событие, которое в данный момент обрабатывается, в данном случае, нажатие кнопки на форме

//EventArgs - в этом объекте хранится дополнительная информация, которая передаётся обработчику события

//тут могут передаваться какие-то дополнительные параметры, обеспечивающие более полный контроль за поведением программы

//в обработчике ошибок в ответ на какое-то действие. То есть, например, по-умолчанию, объект EventArgs ничего существенного не содержит

//но, например, для обработки событий мышки, используется объект типа MouseEventArgs, производный от EventArgs,в котором можно найти

//координаты того места, где был курсор мышки, когда произошло событие

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

//изменение типа вводимых данных на Double

metr = Convert::ToDouble(textBox1 -> Text);

//сообщение об ошибке, если пользователь введет некорректные данные, а именно числа меньше нуля либо значения

//не являющиеся десятичными цифрами (metr < 0) //проверка на отрицательные значения

{

//по центру программы выдается глобальное сообщение об ошибке

label32->Text = Convert::ToString("You've entered negative values");

//сообщение об ошибке в каждой графе, где при правильной работе программы должны выводиться значения указанных величин

}

//в случае правильной работы программы...

{

//зануляется приветственное сообщение, которое просит выбрать нужный пользователю калькулятор

//а именно вместо этого сообщения лейблу присваивается имя "пробел"->Text = Convert::ToString(" ");

//выполнение операций перевода в выбранные единицы, которые пользователь сможет увидеть слева от их значений в окне программы

//metr - это переменная, под которой скрывается введенная пользователем исходная величина

//программа написана таким образом, что при смене калькулятора под надписью Income Data (исходные данные)

//пользователь увидит, значение какой единицы измерения он вводит

//для удобства и компактности программы мы задаем переменные var1-15, которые в свою очередь

//инициализируем (см.выше)

//далее мы просто меняем значения этих переменных, а в основном функционале кнопки Computing мы указываем общую формулу

label25->Text = Convert::ToString(metr * var1);->Text = Convert::ToString(metr * var2);->Text = Convert::ToString(metr * var3);->Text = Convert::ToString(metr * var4);->Text = Convert::ToString(metr * var5);->Text = Convert::ToString(metr * var6);->Text = Convert::ToString(metr * var7);->Text = Convert::ToString(metr * var8);->Text = Convert::ToString(metr * var9);->Text = Convert::ToString(metr * var10);->Text = Convert::ToString(metr * var11);->Text = Convert::ToString(metr * var12);->Text = Convert::ToString(metr * var13);->Text = Convert::ToString(metr * var14);->Text = Convert::ToString(metr * var15);

}

}

//задание функционала кнопки Mass: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

//присвоение переменным var 1-15 значений, необходимых для калькулятора масс

//а именно для перевода килограммов в иные единицы массы

var1 = 1016.05;= 907.165;= 1000;= 21540.16;= 2692.52;= 50.802;= 45.36;= 14.6;= 12.7;= 6.350293;= 453.59327;= 28.349523125;= 1.771845;= 0.06479891;= 11.34;

//переименование лейблов

//задание им имен, необходимых для данного калькулятора

label1->Text = Convert::ToString("Long ton");->Text = Convert::ToString("Short ton");->Text = Convert::ToString("Metric ton");->Text = Convert::ToString("Kile");->Text = Convert::ToString("Chaldron");->Text = Convert::ToString("Quintal");->Text = Convert::ToString("Centner");->Text = Convert::ToString("Slag");->Text = Convert::ToString("Tod");->Text = Convert::ToString("Stone");->Text = Convert::ToString("Pound");->Text = Convert::ToString("Ounce");->Text = Convert::ToString("Dram");->Text = Convert::ToString("Grain");->Text = Convert::ToString("Kvartern");->Text = Convert::ToString("KG");

//вместо приветственного сообщения лейблу присваивается сообщение, которое предупреждает, что программа работает только с числами

label32->Text = Convert::ToString("Attention! You should enter only numbers. If you enter char-symbols, the program will end its work.");

}

//строка кода, которая отвечает за то, что происходит до первоначального отображения формы

private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {

}

//задание функционала кнопки Length: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {

//присвоение переменным var 1-15 значений, необходимых для калькулятора длин

//а именно для перевода килограммов в иные единицы длины

var1 = 4828.032;= 1853.256;= 185.3182;= 1609.344;= 201.168;= 20.1168;= 5.0292;= 0.9144;= 0.3048;= 0.1016;= 0.0254;= 0.0021167;= 0.000353;= 0.0000254;= 0.001;

//переименование лейблов

//задание им имен, необходимых для данного калькулятора

label1->Text = Convert::ToString("League");->Text = Convert::ToString("Nautical mile");->Text = Convert::ToString("Cable");->Text = Convert::ToString("Statute mile");->Text

Copyright © 2018 WorldReferat.ru All rights reserved.