Создание конвертера величин на 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