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

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

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

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

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

//которые изменяются в диапазоне от -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 Блок-схема задачи

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

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

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

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

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

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

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

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


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

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

    курсовая работа [1,1 M], добавлен 11.01.2017

  • Создание программного обеспечения в среде Visual Basic for Applications для проведения теста по работе полушарий мозга человека. Описание команд. Разработка интерфейса и тестирование программы. Листинг приветствия и задаваемых пользователю вопросов.

    курсовая работа [387,1 K], добавлен 09.03.2014

  • Характеристика подходов к построению CRM-систем. Разработка клиент-серверного приложения, которое предоставляет возможность управления взаимоотношениями с клиентами на платформе ASP.NET Web Froms. Проработка некоторых аспектов безопасности CRM-систем.

    курсовая работа [686,2 K], добавлен 24.04.2015

  • Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.

    контрольная работа [989,9 K], добавлен 29.03.2011

  • Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.

    курсовая работа [563,2 K], добавлен 21.06.2011

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

    дипломная работа [1,4 M], добавлен 19.01.2017

  • Создание приложения для шифрования–дешифрования текста тремя алгоритмами (алгоритм "Цезаря","Модифицированного Цезаря", "Скитала"). Исходный текст компонента. Инструкция пользователя, возможность просмотра примерного алгоритма. Исходный текст программы.

    курсовая работа [2,8 M], добавлен 27.02.2015

  • Определение назначения прикладных, системных и инструментальных программ. Общее описание программной среды Visual basic версии 6.0. Обзор требований к аппаратным средствам для создания программного продукта и разработка модуля "Конвертер величин".

    курсовая работа [139,4 K], добавлен 27.07.2014

  • Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.

    курсовая работа [2,2 M], добавлен 28.06.2011

  • Разработка и освоение в современном производстве информационной подсистемы. Создание базы данных в среде MS SQL Server 2008 и приложения в среде MS Visual Studio 2012. Процесс ввода при выборе пунктов меню. Заполнение формы с критериями на фильтрацию.

    отчет по практике [834,4 K], добавлен 27.11.2013

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