Создание приложения-конвертера
Необходимость перевода мер в исторические и национальные единицы. Конверторы на персональных компьютерах и мобильных устройствах, а также сети интернет, их функциональные особенности. Методика разработки визуального приложения и требования к нему.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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
Подобные документы
Конверторы на ПК и мобильных устройствах. Разработка визуального приложения, которое предоставляет пользователю возможность переводить из килограммов, метров, квадратных метров и литров в соответствующие английские единицы. Исходный код и его описание.
курсовая работа [1,1 M], добавлен 11.01.2017Анализ российского рынка мобильных приложений. Мобильное приложение как новый канал коммуникации с целевой аудиторией. Этапы создания мобильного приложения. План продвижения мобильного приложения в сети Интернет. Бесплатные инструменты продвижения.
дипломная работа [1,6 M], добавлен 23.06.2016Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019История возникновения глобальной компьютерной сети интернет. Компьютеры-серверы и компьютеры-клиенты. Провайдеры интернет и их сети. Доступ в интернет из локальной сети. Взаимодействие между клиентом и сервером. Приложения-серверы и приложения-клиенты.
реферат [53,5 K], добавлен 13.10.2011Анализ предметной области, функциональные части и этапы создания web-приложения, которое будет осуществлять интернет-торговлю по схеме "Предприятие – клиенты". Разработка вспомогательного web-приложения, необходимое для работы с базой данных основного.
курсовая работа [3,3 M], добавлен 05.06.2011Мобильные операционные системы. Основные характеристики систем iOS и Android, их достоинства, недостатки и индивидуальные возможности. Анализ преимуществ лидирующих мобильных платформ для разработки приложения. Основные различия в механизмах безопасности.
дипломная работа [806,5 K], добавлен 01.01.2018Общая характеристика и структурная схема приложения, требования к нему и функциональные особенности, сферы практического применения. Обоснование выбора языка программирования. Описание интерфейса и инструкция пользователя. Проведение листинга программы.
дипломная работа [1,0 M], добавлен 10.07.2017Методы представления знаний заданной предметной области. Создание онтологии бортовых информационно управляющих систем автомобиля. Создание среды разработки и приложения для поиска в интернете с использованием онтологии. Проверка эффективности приложения.
презентация [1,6 M], добавлен 25.12.2014Обзор мобильной операционной системы ios: Архитектура ОС iOS; уровень библиотек; среды разработки приложения (Xcode, Xamarin). Доступ к информации колледжа "Угреша". Требования к мобильному приложению. Подготовка среды разработки. Тестирование приложения.
дипломная работа [5,6 M], добавлен 10.07.2014Сущность и классификация компьютерных сетей, их разновидности и функциональные особенности, структура и взаимосвязь отдельных элементов. Исторические предпосылки создания сети Интернет, ее внутреннее устройство и принципы работы. Создание протоколов.
презентация [459,6 K], добавлен 14.11.2014