Создание калькулятора с дополнительными функциями на 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.2010

  • Microsoft 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

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