Создание калькулятора с дополнительными функциями на C#
Создания приложения для элементарных вычислений на языке визуального программирования C# в интегрированной системе разработки Microsoft Visual Studio. Вид справки, созданной с помощью дочерней формы. Числа, сгруппированные по разрядам в TextBox.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.12.2016 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru//
Размещено на http://www.allbest.ru//
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Факультет информационных технологий и компьютерной безопасности
Кафедра компьютерных интеллектуальных технологий проектирования
КУРСОВАЯ РАБОТА
по дисциплине Среды визуального программирования
Тема Создание калькулятора с дополнительными функциями на C#
Разработала студенткаА. А. Сухова
Руководитель П. Ю. Гусев
2014
Введение
Темой данной курсовой работы является создания приложения для элементарных вычислений (калькулятора) на языке визуального программирования C#. Создание приложения будет проходить в интегрированной системе разработки Microsoft Visual Studio. Она позволяет разрабатывать как консольные, так и приложения с графическим интерфейсом и веб компоненты (веб-приложения, веб-сайты, веб-службы).
VisualStudio используется разработчиками по всему миру, так как данная среда разработки является удобной в плане разработки она имеет такие свойства в своем арсенале как: выделение определенных строчек кода, сворачивание их при необходимости и отладчик с пошаговым действиями по коду который позволяет находить ошибки кода или какие либо остановки в работе приложения.
При выполнении данной курсовой работы предстоит:
Изучить методическую литературу по технологии разработки программных продуктов
Изучить теоретические аспекты среды программирования VisualStudioи языка C#
Определиться со средствами разработки приложения
Построить визуальный интерфейс приложения
Организовать удобную навигацию в программе
1. Теоретическая справка
1.1 Язык программирования C#
C# -- объектно-ориентированный язык программирования. Разработан в 1998--2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеетстатическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе различных операторов явного или неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типыметоды, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.
Переняв достаточно многое от своих предшественников -- языков C++, Pascal, Модула, Smalltalk и, в особенности, Java -- С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем. Например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).
Для разработки приложения на C# мы использовали среду разработки MCVisualStudio.
1.2 Среда разработки Visual Studio
Microsoft Visual Studio -- линейка продуктов компании Microsoft, включающих интегрированную среду разработкипрограммного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать какконсольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework иSilverlight.
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшегорефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов. Например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения.
Visual Studio построена на архитектуре, поддерживающей возможность использования встраиваемых дополнений -- плагинов от сторонних разработчиков, что позволяет расширять возможности среды разработки.
Microsoftvisualstudio имеет многочисленные версии и редакции. Рассмотрим их.
1.2.1 Основные версии VisualStudio
Visual Studio 97 -- первая выпущенная версия Visual Studio, в которой впервые были собраны вместе различные средства разработки ПО. Она была выпущена в двух версиях -- Professional и Enterprise, и включала в себя Visual Basic 5.0, Visual C++ 5.0, Visual J++ 1.1, Visual FoxPro 5.0 и впервые появившуюся среду разработки ASP -- Visual InterDev. Visual Studio 97 была первой попыткой Microsoft создать единую среду для разработки на разных языках программирования: Visual C++, Visual J++, Visual InterDev и MSDN использовали одну среду, называемую Developer Studio. Visual Basic и Visual FoxPro использовали отдельные среды для разработки.
VisualStudio .NET 2003 -- выпущена в апреле 2003 года (включает .NETFramework 1.1). В апреле 2005 года Microsoft объявила о специальном выпуске среды, получившей название MicrosoftVisualStudio .NET 2003 ProfessionalSpecialEdition. Спецвыпуск представлял собой обычное издание VisualStudio .NET 2003 ProfessionalEdition с добавлением в комплект серверного ПО и других инструментов (в частности, операционной системы WindowsServer 2003 StandardEdition и SQLServer 2000 DeveloperEdition). Для поощрения перехода на новую среду разработки корпорацией была объявлена специальная цена обновления, действовавшая при переходе на Visual Studio .NET 2003 Professional Special Edition с большого числа средств разработки как Microsoft так и основных его конкурентов.
Visual Studio 2008 -- выпущена 19 ноября 2007, одновременно с .NET Framework 3.5. Нацелена на создание приложений для ОС Windows Vista (но поддерживает и XP), Microsoft Office 2007и веб-приложений. Включает в себя LINQ, новые версии языков C# и Visual Basic. В студию не вошёл Visual J#. С 28 октября 2008 года впервые доступна версия на русском языке. На рисунке 1 предоставлен внешний вид Visual Studio 2008.
Рисунок 1:внешний вид VisualStudio 2012
Visual Studio 2012 распространяется в тех же редакциях, что и 2010. Изменения коснулись Visual Studio 2012 Express -- устанавливаются все языки программирования, а не один как раньше (Visual Basic 2010 Express, Visual C# 2010 Express), а также теперь существует пять версий Visual Studio Express: Visual Studio Express 2012 для Web, Visual Studio Express 2012 для Windows 8, Visual Studio Express 2012 для Windows Desktop, Visual Studio Express 2012 для Windows Phone и Visual Studio Team Foundation Server Express 2012. Все версии распространяются, как отдельные приложения. Visual Studio Express 2012 для Windows 8 позволяет разрабатывать приложения для Windows Store с Modern-интерфейсом, а Visual Studio Express 2012 для Windows Desktop позволяет разрабатывать «классические» приложения для Рабочего стола. Что касается Visual Studio Team Foundation Server Express 2012, то эта версия поставляется с оболочкой Visual Studio 2012.
Разрабатывать приложения на C++ с помощью Visual Studio 2012 можнотолькопод Windows 7 SP1 и Windows 8. Вышло исправление, позволяющее компилировать приложения для запуска под Windows XP.MicrosoftVisualStudio 2013 является последней на данный момент версией. Данная версия стала доступной для загрузки 17.10.2013, содержащая изменения в языке С++, в редакторе JavaScript и в элементах F#.
1.2.2 Редакции Visual Studio
Microsoft Visual Studio содержит 6 редакций:
VisualStudioExpress - это набор легковесных сред разработки, представляющих собой урезанную версию Visual Studio, она включает в себя небольшой набор инструментов, в отличие от полных версий: отсутствует дизайнер классов и многие другие инструменты, а также поддержка плагинов и удалённых баз данных в дизайнере данных).
VisualStudioLightSwitch - это среда разработки, нацеленная на создание Line of business приложений, построенных на существующих .NET-технологиях и платформах Microsoft. Создаваемые приложения состоят из трех ярусов: пользовательский интерфейс на Silverlight; логика и доступ к данным на сервисах WCF RIA иEntity Framework; хранение данных с помощью Microsoft SQL Server Express, Microsoft SQL Server или SQL Azure. LightSwitch также поддерживает другие источники данных, включая SharePoint. LightSwitch включает в себя графические дизайнеры сущностей и их отношений, запросов, а также интерфейса пользователя. Бизнес-логика может быть написана на Visual Basic или на Visual C#. LightSwitch может быть установлен как самостоятельное приложение или как дополнение к Visual Studio 2010 Professional и более высоким редакциям.
Visual Studio Standard - эторедакция предоставляет IDE для всех поддерживаемых продуктов и поддерживает полную версию библиотеки. Поддерживается редактирование XML и XSLT, как и средства для тестирования объектов. Однако, отсутствует обозреватель серверов и интеграция с Microsoft SQL Server. Поддержка разработки под мобильные устройства изначально была включена в Visual Studio 2005 Standard, но в версии 2008 она доступна только в Professional редакции. С версии 2010 данная редакция перестала существовать.
VisualStudioProffessional- эта редакция включает все возможности редакции Standard, расширяя их дополнительными, такими как интеграция с Microsoft SQL Server и поддержка удалённой отладки.
Visual Studio Tools for Office включает SDK и расширение для Visual Studio, которое содержит утилиты для разработки под платформу Microsoft Office. Начиная с Visual Studio 2008, включено в версии Professional и выше.
VisualStudioTeamSystem данная редакция предоставляет набор инструментов для совместной разработки, подсчета метрик и создания отчётов, в дополнение к возможностям Professional редакции. Имеются различные редакции VSTS, разделяемые по ролям, для которых продукт будет использоваться: TeamExplorer, DatabaseEdition, DevelopmentEdition, TestEdition, ArchitectureEdition.
1.2.3 Библиотека классов
MicrosoftVisualStudio поддерживает библиотеку классов платформы NetFramework. Библиотека классов .NET Framework представляет собой библиотеку классов, интерфейсов и типов значений, которые обеспечивают доступ к функциональным возможностям системы. Она составляет основу для создания приложений, компонентов и элементов управления .NET Framework. Пространства имен и их категории в библиотеке классов перечислены в таблице 1 и там же подробно описаны.
Таблица 1
Пространство имен |
Описание |
|
System |
Пространство имен System содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки. |
|
System.Activities |
Пространства имен System.Activities содержат все классы, необходимые для создания действий Window Workflow Foundation и для работы с ними. |
|
System.AddIn |
Пространства имен System.AddIn содержат типы, которые служат для определения, активации и контроля надстроек, а также для разрешения взаимодействия между надстройками и ведущим приложением. |
|
System.CodeDom |
Пространства имен System.CodeDom содержат классы, представляющие элементы документа с исходным кодом и поддерживающие создание и компиляцию исходного кода на поддерживаемых языках программирования. |
|
System.Collections |
Пространства имен System.Collections содержат типы, определяющие различные стандартные, специальные и универсальные объекты коллекций. |
|
System.ComponentModel |
Пространства имен System.ComponentModel содержат типы, реализующие поведение компонентов и элементов управления во время разработки и выполнения. |
|
System.Configuration |
Пространства имен System.Configuration содержат типы для обработки данных конфигурации, например данных в файлах конфигурации компьютера или приложения. |
|
System.Data |
Пространство имен System.Data содержит классы для доступа к данным из различных источников и для управления этими данными. |
|
System.Deployment |
Пространства имен System.Deployment содержат типы, поддерживающие развертывание приложений ClickOnce. |
|
System.Device.Location |
Пространство имен System.Device.Location позволяет разработчикам приложений удобным образом обращаться к расположениям на компьютере с использованием единого API. |
|
System.Diagnostics |
Пространства имен System.Diagnostics содержат типы, позволяющие осуществлять взаимодействие с системными процессами, журналами событий и счетчиками производительности. |
|
System.DirectoryServices |
Пространства имен System.DirectoryServices содержат типы, обеспечивающие доступ к Active Directory из управляемого кода. |
|
System.Drawing |
Родительское пространство имен System.Drawing содержит типы, поддерживающие базовые графические функции GDI+. |
|
System.Dynamic |
Пространство имен System.Dynamic предоставляет классы и интерфейсы, поддерживающие среду DLR. |
|
System.EnterpriseServices |
Пространства имен System.EnterpriseServices содержат типы, которые определяют архитектуру и службы COM+, обеспечивающие инфраструктуру для корпоративных приложений. |
|
Systm.Globalization |
Пространство имен System.Globalization содержит классы, определяющие сведения, относящиеся к культуре, такие как язык, название страна/регион, используемые календари, шаблоны форматирования дат, денежных сумм и чисел, а также порядок сортировки строк. |
|
System.IdentityModel |
Пространства имен System.IdentityModel содержат типы, используемые для обеспечения аутентификации и авторизации в приложениях .NET. |
|
System.IO |
Пространства имен System.IO содержат типы, поддерживающие ввод и вывод, включая возможности чтения и записи данных в потоках, как синхронно, так и асинхронно, сжатия данных в потоках, создания и использования изолированных хранилищ. |
|
System.Linq |
Пространства имен System.Linq содержат типы, поддерживающие запросы с использованием LINQ. Сюда относятся типы, представляющие запросы в виде объектов в деревьях выражений. |
|
System.Management |
Пространства имен System.Management содержат типы, которые обеспечивает доступ к сведениям и событиям управления, относящимся к системе, устройствам и приложениям, поддерживающим инфраструктуру инструментария управления Windows. |
|
System.Media |
Пространство имен System.Media содержит классы для воспроизведения звуковых файлов и работы с системными звуками. |
|
System.Messaging |
Пространства имен System.Messaging содержат типы, позволяющие подключаться к очередям сообщений в сети, наблюдать за ними, выполнять администрирование очередей, а также принимать, передавать и считывать сообщения. |
2.Предметная область курсовой работы
Задачей курсовой работы было разработать калькулятор с дополнительными функциями (группирование вводимых цифр по разрядам). Первым шагом в выполнении данной курсовой работы было добавление на форму приложения следующих компонентов:
TextBox (элемент управления, использующийся для отображения или изменения неформатированного текста)
Button(элемент управлениякнопка Windows, реагирующий на событие ButtonBase.Click, выполняющий функции введения и подсчета)
MenuBar(определяет элемент управления «Строка меню»)
Label(представляет стандартную надпись Windows)
Форма приложения со всеми компонентами выглядит в соответствии срисунком 2.
Рисунок 2: форма совместно со всеми компонентами
После создания формы с компонентами переходим непосредственно к коду. И следующим шагом идет подключение библиотек таких как:
-System;
-System.Collections.Generic;
-System.Globalization;
-System.ComponentModel;
-System.Data;
-System.Drawing;
-System.Linq;
-System.Text;
-System.Threading.Tasks;
-System.Windows.Forms;
Далее создается класс нашей формы благодаря строке <<publicpartialclassForm1 : Form>>. Задаем публичные переменные, которые будут необходимы в дальнейшем. Прежде чем работать над основными функциями, необходимо задать обработчик событий для нажатия кнопок 0-9. Он будет выглядеть следующим образом:
if ((result.Text == “0”) || (operation_pressed))
result.Clear();
operation_pressed = false;
Button b = (Button)sender;
result.Text += b.Text;
В данном случае задано, что при тексте в TextBox равном 0 или нажатом операторе (+, -, *, /) TextBox очищается для ввода следующей переменной и вводятся числа для следующих вычислений. Далее задается обработчик для функций, которые будут вычисляться в калькуляторе. Онбудетпредставлятьсобой:
Button b = (Button)sender;
operation = b.Text;
value = Double.Parse(result.Text);
equation.Text = value + “ “ + operation;
operation_pressed = true;
button11.Enabled = true;
Рассмотримподробнее. С помощью Double.Parse осуществляется преобразование из типа string в тип double. Далее задается значение «истина» для булевой переменной operation_pressed, которая показывает, была ли нажата кнопка операции. И в конце кода задается значение истины для доступа к кнопке, выполняющей функцию запятой.
С помощью switch|case для значения «равно» устанавливаем подсчет считанных чисел для операций +, -, *, /, ^.
Далее, для запрета ввода всех символов, кроме цифр, с клавиатуры в обработчике TextBox_KeyPress необходимо записать следующее:
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar == `.' || e.KeyChar == `,' || e.KeyChar == (char)Keys.Back)
{
if (e.KeyChar == (char)Keys.Back)
{
}
else
if (result.Text.Contains(“,”) || result.Text.Contains(“.”))
{
e.Handled = true;
}
}
else
{
e.Handled = true;
}}
ПослеэтоговполеTextBox нельзя ввести символы, исключая запятую и цифры. Так как основные и тригонометрические функции у нас прописаны, остается только обработать возможности памяти на 3 значения. Дляэтогосоздается 3 кнопки: M+ (Add Memory), Ms (Show Memory) иMc (Clear Memory).
В обработчике кнопки M+ задаем условие result.Text.Length> 0 и с помощью switch|caseи byte-переменной обрабатываем сохранение:
try
{
if (result.Text.Length > 0)
{
MemoryClearButton.Enabled = true;
memory.Enabled = true;
switch (state)
{
case 0:
M1 = result.Text;
state++;
break;
case 1:
M2 = result.Text;
state++;
break;
case 2:
M3 = result.Text;
memory.Enabled = false;
ShowMemory.Enabled = true;
break;
}
else
{ MessageBox.Show(“---“)
}
catch (Exception)
{}
То же самое проделывается с кнопкой Msпамяти (подробнее в листинге). И очищение переменных производится кнопкой Mc:
MemoryClearButton.Enabled = false;
memory.Enabled = true;
M1 = “”;
M2 = “”;
M3 = “”;
Так же необходимо выполнить и индивидуальное задание, помимо основного (создания калькулятора). Задание заключается в группировании вводимых символов по разрядам до запятой и отсутствие этого группирования после запятой. Для того, чтобы осуществить данную операцию, стоит обратиться к обработчику TextChangedдля TextBox'a. Непосредственно в нем будет осуществляться реализация данного задания:
string text = result.Text.Split(`,')[0];
text = text.Replace(“ ”, “”);
int decCount = (int)Math.Celling((double)text.Length / 3);
int decExtra = text.Length % 3;
string res = “”;
for (int I = 0; I < decCount; i++)
{
if (decExtra == 0)
{
res += text.Substring(i *3, 3);
}
else
{
res += text.Substring(i * 3 - (3 - decExtra), 3);
}}
res += i == decCount - 1 ? “”: “ “;
}
result.Text = res + (result.Text.Split(`,').Length == 1 ? “” : “,” + result.Text.Split(`,')[1])
result.Select(result.Text.Length, 0);
После написания этого кода, числа, вводимые в TextBox будут выглядеть так, как показано на рисунке 3:
Рисунок 3: Числа, сгруппированные по разрядам в TextBox
калькулятор приложение вычисление
Последним этапом в разработке визуального приложения будет вывод справки о программе. Для этого в MenuBar создана отдельная вкладка. Реализовать вывод справки можно различными способами, начиная от ShowMessage и заканчивая созданием отдельной формы. В данной курсовой рассматривается справка с помощью создания дочерней формы. Таким образом, создав дочернюю форму Form 2 и воспользовавшись методом Form2.ShowDialog(), мы увидим модальное окно, показанное на рисунке 4.
Рисунок 4: Вид справки, созданной с помощью дочерней формы
Заключение
Заданием моей курсовой работы являлась разработка визуального приложения для элементарных вычислений (калькулятора). Целью её являлось ознакомление и начальное освоение некоторых функций и возможностей языка программирования C# и визуальной среды MSVisualStudio.
В процессе подготовки и выполнения работы был изучено много теоретического материала и освоены некоторые необходимые приемы программирования в среде VisualStudio на языке C#.
Разработанная программа - это калькулятор для вычислений в одно действие, поддерживающий такие операции как: сложение, вычитание, деление, умножение, возведение числа в степень другого числа, корень квадратный, корень кубический, а так же вычисление тригонометрических функций (синус, косинус, тангенс) и логарифмической функции (случай для натурального логарифма). Итоговая программа так же группирует символы по разрядам (тысячам) и имеет функцию сохранения в памяти 3х чисел с возможностью их перезаписи и дальнейшего использования.
Список используемой литературы
Абрамян М.Э. VisualC# на примерах / М.Э. Абрамян-Спб.: БХВ - Петербург, 2008. -496 с.
Балена Ф., Современная практика программирования на MicrosoftVisualBasic и VisualC#/ Ф. Балена, Дж. Димауро-М.: Русская редакция, 2006. -517 с.
Глушаков С.В., Компьютерная графика./ С.В.Глушаков, Г.А. Кнабе-Харьков: Фолио, 2002. -648 с.
Фаронов В.В. Программирование на языке С# / В.В.Фаронов. -Спб.: Питер, 2007. -240 с.
Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке С#. Мастер-класс. / Пер. с англ. -М.: Издательство Русская Редакция; -СПб.: Питер, 2007. -656 с.
Приложение №1
Листинг программы
using System;
using System.Collections.Generic;
using System.Globalization;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
Double value = 0;
String operation = "";
bool operation_pressed = false;
string M1, M2, M3;
byte state = 0;
byte res = 0;
public Form1()
{
InitializeComponent();
}
private void button7_Click(object sender, EventArgs e)
{
if ((result.Text == "0") || (operation_pressed))
result.Clear();
operation_pressed = false;
Button b = (Button)sender;
result.Text += b.Text;
}
private void button26_Click(object sender, EventArgs e)
{
result.Text = "0";
}
private void operator_click(object sender, EventArgs e)
{
Button b = (Button)sender;
operation = b.Text;
value = Double.Parse(result.Text);
equation.Text = value + " " + operation;
operation_pressed = true;
button11.Enabled = true;
}
private void button20_Click(object sender, EventArgs e)
{
equation.Text = "";
switch (operation)
{
case "+":
result.Text = (value + Double.Parse(result.Text)).ToString();
button11.Enabled = true;
break;
case "-":
result.Text = (value - Double.Parse(result.Text)).ToString();
button11.Enabled = true;
break;
case "*":
result.Text = (value * Double.Parse(result.Text)).ToString();
button11.Enabled = true;
break;
case "/":
result.Text = (value / Double.Parse(result.Text)).ToString();
button11.Enabled = true;
break;
case "^":
result.Text = Math.Pow(value, Double.Parse(result.Text)).ToString();
button11.Enabled = true;
break;
default:
break;
}
}
private void button24_Click(object sender, EventArgs e)
{
result.Clear();
value = 0;
}
private void result_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar == '.' || e.KeyChar == ',' || e.KeyChar == (char)Keys.Back)
{
if (e.KeyChar == (char)Keys.Back)
{
}
else
if (result.Text.Contains(",") || result.Text.Contains("."))
{
e.Handled = true;
}
}
else
{
e.Handled = true;
}
}
}
private void button11_Click(object sender, EventArgs e)
{
result.Text += ((Button)sender).Text;
button11.Enabled = false;
}
private void button16_Click(object sender, EventArgs e)
{
try
{
if (result.Text.Length > 0)
{
result.Text = Math.Sqrt(double.Parse(result.Text)).ToString();
}
}
catch (Exception) { }
}
private void button27_Click(object sender, EventArgs e)
{
try
{
result.Text = result.Text.Substring(0, result.Text.Length - 1);
}
catch (Exception) { }
}
private void result_TextChanged(object sender, EventArgs e)
{
string text = result.Text.Split(',')[0];
text = text.Replace(" ", "");
int decCount = (int)Math.Ceiling((double)text.Length / 3);
int decExtra = text.Length % 3;
string res = "";
for (int i = 0; i < decCount; i++)
{
if (i == 0 && decExtra != 0) res += text.Substring(0, decExtra);
else
{
if (decExtra == 0)
{
res += text.Substring(i * 3, 3);
}
else
{
res += text.Substring(i * 3 - (3 - decExtra), 3);
}
}
res += i == decCount - 1 ? "" : " ";
}
result.Text = res + (result.Text.Split(',').Length == 1 ? "" : "," + result.Text.Split(',')[1]);
result.Select(result.Text.Length, 0);
}
private void button17_Click(object sender, EventArgs e)
{
try
{
if (result.Text.Length > 0)
{
result.Text = Math.Pow(double.Parse(result.Text), (1.0/3)).ToString();
}
}
catch (Exception) { }
}
private void button21_Click(object sender, EventArgs e)
{
try
{
if (result.Text.Length > 0)
{
double a = ((double.Parse(result.Text)*Math.PI)/180);
result.Text = Math.Sin(a).ToString();
}
}
catch (Exception) { }
}
private void button22_Click(object sender, EventArgs e)
{
try
{
if (result.Text.Length > 0)
{
double a = ((double.Parse(result.Text) * Math.PI) / 180);
result.Text = Math.Cos(a).ToString();
}
}
catch (Exception) { }
}
private void ExitToolStripMenuItem_Click(object sender, EventArgs e)
{
result.Clear();
Application.Exit();
}
private void button25_Click(object sender, EventArgs e)
{
value = float.Parse(result.Text);
result.Text = (value * (-1)).ToString();
}
private void memory_Click(object sender, EventArgs e)
{
try
{
if (result.Text.Length > 0)
{
MemoryClearButton.Enabled = true;
memory.Enabled = true;
switch (state)
{
case 0:
M1 = result.Text;
state++;
break;
case 1:
M2 = result.Text;
state++;
break;
case 2:
M3 = result.Text;
memory.Enabled = false;
ShowMemory.Enabled = true;
break;
}
}
else
{
MessageBox.Show("Попытайтесьввестикорректныедля\nданнойоперацииданныеиповторите", "Калькулятор", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
catch (Exception)
{
}
}
private void MemoryClearButton_Click(object sender, EventArgs e)
{
MemoryClearButton.Enabled = false;
memory.Enabled = true;
ShowMemory.Enabled = false;
M1 = "";
M2 = "";
M3 = "";
}
private void ShowMemory_Click(object sender, EventArgs e)
{
switch (res)
{
case 0:
result.Text = M1;
res++;
break;
case 1:
result.Text = M2;
res++;
break;
case 2:
result.Text = M3;
res = 0;
break;
}
}
private void AboutToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 Form2 = new Form2();
Form2.Owner = this;
Form2.ShowDialog();
}
private void button18_Click(object sender, EventArgs e)
{
try
{
if (result.Text.Length > 0)
{
result.Text = Math.Log(double.Parse(result.Text)).ToString();
}
}
catch (Exception) { }
}
private void button28_Click(object sender, EventArgs e)
{
try
{
if (result.Text.Length > 0)
{
double a = ((double.Parse(result.Text) * Math.PI) / 180);
result.Text = Math.Tan(a).ToString();
}
}
catch (Exception) { }
}
}
}
Размещено на Allbest.ru
...Подобные документы
Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.
методичка [2,1 M], добавлен 11.09.2014Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.
лабораторная работа [814,3 K], добавлен 26.05.2013Введение в Microsoft Visual Studio. Диалоговое окно "Восстановленные файлы" интегрированной среды разработки. Веб-обозреватель интегрированной среды разработки. Диалоговое окно "Проверка подлинности прокси-сервера". Сохранение и восстановление файлов.
реферат [22,0 K], добавлен 29.05.2013Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.
курсовая работа [500,4 K], добавлен 13.01.2015Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009Языки среды программирования Visual Studio. Стартовая страница интегрированной среды разработки. Окно New Project. Вкладка разработки формы. Перемещение и изменение размера кнопки. Прибавление программного кода к кнопке. Запуск и сохранение проекта.
презентация [1,4 M], добавлен 29.04.2014Изучение методов разработки приложений в среде визуального программирования Visual Studio. Создание программы, реализующей заказ железнодорожных билетов. Язык SQL-запросов в системе управления базами данных MS Access. Тестирование созданной программы.
курсовая работа [1,0 M], добавлен 03.07.2016Изучение основных методов разработки программ для операционных систем семейства Windows с применением технологий .NET. Анализ возможностей интегрированной среды разработки Microsoft Visual Studio, языка C# и создание приложения "пункт видеопроката".
курсовая работа [1014,7 K], добавлен 28.06.2011Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.
курсовая работа [571,9 K], добавлен 14.07.2012Разработка алгоритма программного бизнес-приложения в интегрированной среде Microsoft Visual Studio 2005 на языке С#, в целях автоматизации работы помощника инспектора ПТО, регистрирующего и направляющего на технический осмотр транспортные средства.
дипломная работа [1,8 M], добавлен 24.12.2013Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.
лабораторная работа [1,1 M], добавлен 10.12.2014Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.
курсовая работа [2,2 M], добавлен 28.06.2011Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.
курсовая работа [639,0 K], добавлен 16.03.2012Техника создания графики при помощи API функций, экспортируемых библиотекой GDI32.DLL. Разработка на языке программирования С++ в среде программирования Microsoft Visual C++ программы для отображения часов реального времени в цифровом и аналоговом виде.
курсовая работа [2,8 M], добавлен 27.01.2010Microsoft Visual C++ и среда программирования Microsoft Developer Studio 6.0. Решение интеллектуальной задачи на компьютере. Построение алгоритма кодирования на Visual C++. Алгоритм решения задачи. Описание программы "Sort". Инструкции пользователя.
курсовая работа [46,0 K], добавлен 27.11.2007Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.
курсовая работа [563,2 K], добавлен 21.06.2011Элементы объектно-ориентированного программирования. Среда Visual Studio: улучшения интегрированной среды разработки и увеличение ее производительности. Проектирование архитектуры программы и ее интерфейса. Использование двухуровневой системы приложения.
курсовая работа [516,8 K], добавлен 09.08.2015Среда для разработки приложений Borland Delphi 2007 с помощью Microsoft Visual Basic. Создание современной системы "Паспортный стол" на языке программирования Delphi. Состав объектов, обеспечивающих функциональность всего клиентского приложения.
курсовая работа [333,7 K], добавлен 03.03.2015Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.
курсовая работа [1,4 M], добавлен 17.01.2016Описание программного продукта Visual Studio. Возможности, преимущества и недостатки бесплатной среды программирования Sharp Develop для проектов на платформе MS.NET. Получение информации из справочной системы .NET SDK. Запуск визуального отладчика CLR.
реферат [393,4 K], добавлен 05.04.2017