Создание приложения-конвертера

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.01.2017
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

this->Controls->Add (this->label1);

this->Controls->Add (this->textBox1);

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

this->Name = L «MyForm»;

this->Text = L «ConvertLengthBritainVersion»;

this->Load += gcnew System: EventHandler (this, &MyForm: MyForm_Load);

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

this->ResumeLayout(false);

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

this->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 для положительных. Числа двойной точности сохраняют приближенные значения действительных чисел

double 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);

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

 // не являющиеся десятичными цифрами

if (metr < 0) // проверка на отрицательные значения

{

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

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

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

 // по отношению к введенной

label25 -> Text = Convert: ToString («error»);

label24 -> Text = Convert: ToString («error»);

label23 -> Text = Convert: ToString («error»);

label22 -> Text = Convert: ToString («error»);

label21 -> Text = Convert: ToString («error»);

label10 -> Text = Convert: ToString («error»);

label9 -> Text = Convert: ToString («error»);

label8 -> Text = Convert: ToString («error»);

label7 -> Text = Convert: ToString («error»);

label6 -> Text = Convert: ToString («error»);

label30 -> Text = Convert: ToString («error»);

label29 -> Text = Convert: ToString («error»);

label28 -> Text = Convert: ToString («error»);

label27 -> Text = Convert: ToString («error»);

label26 -> Text = Convert: ToString («error»);

}

else

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

{

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

 // а именно вместо этого сообщения лейблу присваивается имя «пробел»

label32->Text = Convert: ToString(«»);

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

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

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

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

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

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

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

label25->Text = Convert: ToString (metr * var1);

label24->Text = Convert: ToString (metr * var2);

label23->Text = Convert: ToString (metr * var3);

label22->Text = Convert: ToString (metr * var4);

label21->Text = Convert: ToString (metr * var5);

label10->Text = Convert: ToString (metr * var6);

label9->Text = Convert: ToString (metr * var7);

label8->Text = Convert: ToString (metr * var8);

label7->Text = Convert: ToString (metr * var9);

label6->Text = Convert: ToString (metr * var10);

label30->Text = Convert: ToString (metr * var11);

label29->Text = Convert: ToString (metr * var12);

label28->Text = Convert: ToString (metr * var13);

label27->Text = Convert: ToString (metr * var14);

label26->Text = Convert: ToString (metr * var15);

}

}

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

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

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

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

var1 = 1016.05;

var2 = 907.165;

var3 = 1000;

var4 = 21540.16;

var5 = 2692.52;

var6 = 50.802;

var7 = 45.36;

var8 = 14.6;

var9 = 12.7;

var10 = 6.350293;

var11 = 453.59327;

var12 = 28.349523125;

var13 = 1.771845;

var14 = 0.06479891;

var15 = 11.34;

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

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

label1->Text = Convert: ToString («Long ton»);

label2->Text = Convert: ToString («Short ton»);

label3->Text = Convert: ToString («Metric ton»);

label4->Text = Convert: ToString («Kile»);

label5->Text = Convert: ToString («Chaldron»);

label15->Text = Convert: ToString («Quintal»);

label14->Text = Convert: ToString («Centner»);

label13->Text = Convert: ToString («Slag»);

label12->Text = Convert: ToString («Tod»);

label11->Text = Convert: ToString («Stone»);

label20->Text = Convert: ToString («Pound»);

label19->Text = Convert: ToString («Ounce»);

label18->Text = Convert: ToString («Dram»);

label17->Text = Convert: ToString («Grain»);

label16->Text = Convert: ToString («Kvartern»);

label33->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

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

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

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

var1 = 4828.032;

var2 = 1853.256;

var3 = 185.3182;

var4 = 1609.344;

var5 = 201.168;

var6 = 20.1168;

var7 = 5.0292;

var8 = 0.9144;

var9 = 0.3048;

var10 = 0.1016;

var11 = 0.0254;

var12 = 0.0021167;

var13 = 0.000353;

var14 = 0.0000254;

var15 = 0.001;

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

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

label1->Text = Convert: ToString («League»);

label2->Text = Convert: ToString («Nautical mile»);

label3->Text = Convert: ToString («Cable»);

label4->Text = Convert: ToString («Statute mile»);

label5->Text = Convert: ToString («Furlong»);

label15->Text = Convert: ToString («Chain»);

label14->Text = Convert: ToString («Rod»);

label13->Text = Convert: ToString («Yard»);

label12->Text = Convert: ToString («Foot»);

label11->Text = Convert: ToString («Hand»);

label20->Text = Convert: ToString («Inch»);

label19->Text = Convert: ToString («Line»);

label18->Text = Convert: ToString («Point»);

label17->Text = Convert: ToString («Mile»);

label16->Text = Convert: ToString («Caliber»);

label33->Text = Convert: ToString («Metres»);

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

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

}

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

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

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

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

var1 = 2.59;

var2 = 4046.86;

var3 = 1011.71;

var4 = 25.293;

var5 = 0.8613;

var6 = 0.092903;

var7 = 0.00064516;

var8 = 1000;

var9 = 100;

var10 = 10000;

var11 = 1000000;

var12 = 4828,032*4828,032;

var13 = 20,1168*20,1168;

var14 = 185,3249*185,3249;

var15 = 201,168*201,168;

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

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

label1->Text = Convert: ToString («Square mile»);

label2->Text = Convert: ToString («Acre»);

label3->Text = Convert: ToString (» Rood»);

label4->Text = Convert: ToString («Rod»);

label5->Text = Convert: ToString («Yard»);

label15->Text = Convert: ToString («Foot»);

label14->Text = Convert: ToString («Square inch»);

label13->Text = Convert: ToString («Gectar»);

label12->Text = Convert: ToString («Dm^2»);

label11->Text = Convert: ToString («Sm^2»);

label20->Text = Convert: ToString («Mm^2»);

label19->Text = Convert: ToString («Square league»);

label18->Text = Convert: ToString («Square chain»);

label17->Text = Convert: ToString («Square cable»);

label16->Text = Convert: ToString («Square furlong»);

label33->Text = Convert: ToString («Square metres»);

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

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

}

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

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

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

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

var1 = 0.0049;

var2 = 0.0148;

var3 = 0.236;

var4 = 0.0234;

var5 = 0.142;

var6 = 0.570;

var7 = 0.140;

var8 = 4.546;

var9 = 160.42;

var10 = 158.98;

var11 = 0.001;

var12 = 0.02957;

var13 = 0.118;

var14 = 0.4732;

var15 = 3.7354;

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

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

label1->Text = Convert: ToString («Teaspoon»);

label2->Text = Convert: ToString («Tablespoon»);

label3->Text = Convert: ToString («Cup»);

label4->Text = Convert: ToString («Fluid ounce»);

label5->Text = Convert: ToString («Gill»);

label15->Text = Convert: ToString («Pint»);

label14->Text = Convert: ToString («Quart»);

label13->Text = Convert: ToString («Gallon»);

label12->Text = Convert: ToString («Barrel»);

label11->Text = Convert: ToString («Barrel of oil»);

label20->Text = Convert: ToString («Mililiter»);

label19->Text = Convert: ToString («US fluid ounce»);

label18->Text = Convert: ToString («US gill»);

label17->Text = Convert: ToString («US pint»);

label16->Text = Convert: ToString («US gallon»);

label33->Text = Convert: ToString («Litres»);

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

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

}

};

}

2.4 Результаты решения (скриншоты)

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

При нажатии любой из четырех кнопок (Mass/Length/Square/Space) приветственное сообщение исчезает из вида пользователя, а под надписью «Income Data», что переводится как «Исходные Данные», появляется надпись, которая поясняет, в каких единицах пользователю необходимо ввести исходные данные.

При нажатии кнопки «Mass» пользователь видит следующее окно:

ПРИМЕЧАНИЕ: при нажатии любой из четырех кнопок переключения конверторов (Mass, Length, Square, Space) приветственное сообщение снова появляется и исчезает при введении данных и нажатии кнопки Computing.

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

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

Сообщение об ошибке при вводе отрицательных значений в первом конверторе:

При нажатии кнопки «Length» пользователь видит следующее окно:

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

Сообщение об ошибке при вводе отрицательных значений во втором конвертере:

При нажатии кнопки «Square» пользователь видит следующее окно:

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

Сообщение об ошибке при вводе отрицательных значений в третьем конверторе:

При нажатии кнопки «Space» пользователь видит следующее окно:

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

Сообщение об ошибке при вводе отрицательных значений в четвертом конверторе:

2.5 Блок-схема задачи

Заключение

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

Литература

1. Белодед Н.И. Алгоритмизация и программирование: Практикум [Текст]/ Н.И. Белодед, И.В. Гваева, В.И. Новиков, Ж.И. Щербович. - Мн.: Академия управления при Президенте Республики Беларусь, 2005. - 163 с. - Библиогр.:с. 163.

2. Джонс, Брэдли, Эйткен, Питер. Освой самостоятельно С за 21 день, 6-е издание.: Пер. с англ. - М.: Издательский дом «Вильямс», 2005.-800 с.: ил. - Парал. тит. Англ.

3. Афанасьев А.П. Учебник Си: учебное пособие/А.П. Афанасьев - Электронное пособие.

4. Павловская А.Т., Щупак Ю.А. С/С++.Структурное программирование: Практикум/А.Т. Павловская, Ю.А. Щупак - СПб.: Питер, 2003. - 240 с.

5. Кулаков В.Г. Программирование на языке Си. Учебное пособие по дисциплине «Информатика»/Г.В. Кулаков - М.: Моск. гос. ин-т электроники и математики, 2003. - 44 с.

6. Уэит М., Прата С., Мартин Д. Язык Си: руководство для начинающих/М. Уэит, С. Прата, Д. Мартин. - The Waite Group, Inc, 1984. - Перевод с английского Л.Н. Горинович, В.С. Явнилович, под редакцией д-ра техн. наук Э.А. Трахтенгерца. - М.: «Мир», 1988.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.