Разработка Windows-приложений

Усыновление сложностей разработки Windows-приложения, предназначенного для решения комплекса задач. Оценка реализации программы, созданной средствами языка C. Особенности реализации в программе функций различного характера и предусмотрения исключений.

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

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

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

Размещено на http://www.allbest.ru/

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Институт информационных технологий и управления

Кафедра систем и технологий управления

Курсовая работа

по теме

«Разработка Windows-приложений»

Курс «Программирование и основы алгоритмизации»

Студент гр.13503/2 Гатауллин Д.К.

Преподаватель Грачёв Б.Д.

Санкт-Петербург 2015

Оглавление

Введение

Структура программы

Главная программа (Program.cs)

Главная форма (Form1)

Задача 1

Задача 2

Задача 3

Задача 4

Задача 5

Заключение

Список использованных источников

Введение

windows приложение язык программа

В данной курсовой работе была поставлена цель: научиться разрабатывать Windows-приложения, предназначенное для решения комплекса задач. В главной форме должно быть меню, через которое осуществляется переход на решение конкретной задачи. Если в условии задачи состав форм определен, то эта часть приложения реализуется в соответствии с этим определением. Если состав форм не определен, то определение состава форм производится студентом самостоятельно. Как правило, в части приложения, реализующего решение конкретной задачи должно быть не менее 2 форм. Если в приложении вычисляются функции, то должна быть отдельная форма с графиком функции.

Структура программы

Program.cs

Главная форма.cs

График.cs

Задача1.cs

Задача2.cs

Задача3.cs

Задача4.cs

Задача5.cs

Параметры для графика.cs

Главная программа (Program.cs)

Код:

static class Program

{

/// <summary>

/// Главная точка входа для приложения.

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

Главная форма (Form1)

Форма содержит Меню, которое включает:

1 задача

2 задача

3 задача

4 задача

5 задача

График

Выход

Код:

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button6_Click(object sender, EventArgs e)

{

Close();

}

private void button2_Click(object sender, EventArgs e)

{

Задача2 form2 = new Задача2();

form2.ShowDialog();

}

private void button3_Click(object sender, EventArgs e)

{

Задача3 form3 = new Задача3();

form3.ShowDialog();

}

private void button7_Click(object sender, EventArgs e)

{

Параметры_для_графика param = new Параметры_для_графика();

param.ShowDialog();

}

private void button4_Click(object sender, EventArgs e)

{

Задача4 form4 = new Задача4();

form4.ShowDialog();

}

private void button5_Click(object sender, EventArgs e)

{

Задача5 form5 = new Задача5();

form5.ShowDialog();

}

private void button1_Click(object sender, EventArgs e)

{

Задача1 form1 = new Задача1();

form1.ShowDialog();

}

}

Задача 1

Условие: Пусть a и b - переменные типов T1 и T2 соответственно. Постройте приложение (консольное или Windows), в котором для каждой из допустимых в языке C# операций задайте все возможные комбинации типов T1 и T2 такие, что выражение a ? b (здесь ? - символ применяемой операции) не требует преобразования типов операндов.

Форма Задача1

Форма содержит две кнопки:

Результат (button1) - осуществляет переход на форму Reshenie1

Назад (button2)- возвращает на главную форму

Пример решения:

Код:

public partial class Задача1 : Form

{

public Задача1()

{

InitializeComponent();

}

public int L1

{

get { return comboBox1.SelectedIndex; }

}

public int L2

{

get { return comboBox2.SelectedIndex; }

}

private void button2_Click(object sender, EventArgs e)

{

textBox1.Clear();

if ((L1 == 0) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 1) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 2) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3)))

{ textBox1.AppendText("Сложение, Умножение"); }

if ((L2 == 2) && (((L1 >= 0) && (L1 <= 12)) && (L1 != 3)))

{ textBox1.AppendText("Сложение, Умножение"); }

if ((L1 == 3) && ((L2 >= 0) && (L2 <= 13)))

{ textBox1.AppendText("Ни одной операции"); }

if ((L2 == 3) && ((L1 >= 0) && (L1 <= 13)))

{ textBox1.AppendText("Ни одной операции"); }

if ((L1 == 4) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 5) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 6) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 7) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 8) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 9) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 10) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 11) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 12) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }

if ((L1 == 13) && (((L2 >= 0) && (L2 <= 13)) && (L2 != 3) ))

{ textBox1.AppendText("Сложение"); }

}

}

Задача 2

Условие: Дано дробное число N = 0.dm-1…d0, где di - это цифры десятичной системы счисления. Перевести число N в четверичную систему счисления N = bk-1…b0, вычислив k цифр в его записи, сохраняя их в целочисленном массиве DigitsN таком, что DigitsN[i] = bi, где bi - это цифры в записи числа N в четверичной системе счисления.

Пример: N = 0.17(10) = 0.02232(4) при k=5.

Форма Задача2

Пример решения:

Форма содержит:

Текстовое поле для введения числа (textBox1)

Текстовое поле для введения точности (textBox2)

Кнопку Перевести - осуществляет перевод числа из десятичной системы счисления в шестнадцатеричную (button1). При нажатии выводит результат в (textBox3)

Кнопку Назад (button2) - возвращает на форму главную форму.

Код:

public partial class Задача2 : Form

{

public Задача2()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e)

{

double text1;

int kk;

try

{

text1 = double.Parse(text.Text);

int digitCount = (int)Math.Log10(text1) + 1;

text1 = text1 / Math.Pow(10, digitCount);

kk = int.Parse(k.Text);

string[] b = new string[kk];

double text2;

text2 = text1 - Math.Truncate(text1);

num2.Clear();

num2.AppendText("0,");

for (int i = 0; i < kk; i++)

{

text2 = text2 * 4;

b[i] = Convert.ToString(Math.Truncate(text2));

text2 = text2 - Math.Truncate(text2);

num2.AppendText(b[i]);

}

}

catch (FormatException)

{

MessageBox.Show("Неверный формат ввода");

}

}

}

Задача 3

Условие: Полином P(x) задан своими корнями и старшим коэффициентом an. Вычислить коэффициенты полинома.

Форма Задача3

Пример решения:

Форма содержит:

Текстовое поле для введения старшего члена(textBox1)

Текстовое поле для введения корней многочлена(textBox2)

Текстовое поле для выведения коэффициентов полинома(textBox3)

Кнопка найти коэффициентов полинома

Кнопку Назад-возвращает на главную форму

Код:

public partial class Задача3 : Form

{

public Задача3()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

try

{

int g_kof, n;

g_kof = int.Parse(an.Text);

string korni;

korni = korn.Text;

string[] outp = korni.Split(' ');

int[] x = new int[outp.Length];

for (int i = 0; i < x.Length; i++)

{

x[i] = Convert.ToInt32(outp[i]);

}

n = outp.Length;

int[] a = new int[n+1];

//Вычисляем коэффициенты полинома первой степени

a[1] = 1; a[0] = -x[0];

//цикл по числу полиномов

for (int k = 2; k < n+1; k++)

{

//Вычисляем коэффициенты полинома степени k

//Вначале старший коэффициент

a[k] = a[k - 1];

//затем остальные коэффициенты, кроме последнего

for (int i = k - 1; i > 0; i--)

{

a[i] = a[i - 1] - a[i] * x[k - 1];

}

//теперь младший коэффициент

a[0] = -a[0] * x[k - 1];

}

kof.Clear();

//Последний этап - умножение коэффициентов на an

for (int i = 0; i <= n; i++)

{

a[i] = a[i] * g_kof;

kof.AppendText(a[i] + " ");

}

}

catch(FormatException)

{

MessageBox.Show("Неверный формат ввода");

}

}

}

Задача 4

Условие: Напишите процедуру IsNumber, проверяющую является ли исходный текст правильно построенным числом. Для представления текста используйте класс Char[].

Форма Задача4

Примере решения:

Форма содержит:

Текстовое поле для ввода текста (textBox1)

Кнопка проверить - выводит результат в MassageBox

Кнопку Назад - возвращает на главную форму

Код:

public partial class Задача4 : Form

{

public Задача4()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e)

{

int n = text.TextLength;

int k = 0;

string st = text.Text;

char[] a = st.ToCharArray();

for (int i = 0; i < n; i++)

{

if ((((int)a[i]>=48)) && ((int)a[i]<=57))

k=k+1;

}

if ((k == n) && (k!=0)) MessageBox.Show("Число построенно правильно");

else MessageBox.Show("Число построенно неправильно");

}

}

Задача 5

Условие: Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные.

Форма Задача5

Пример решения:

Форма содержит:

Текстовое поле для показания исходного текста(textBox1)

Текстовое поле для показания результата(textBox2)

Кнопка показать результат - выводит результат в (textBox2)

Кнопка считать текст - считывает текст из файла

Кнопка назад - возвращает на главную форму

Код:

public partial class Задача5 : Form

{

private string text;

public Задача5()

{

InitializeComponent();

openFileDialog1.InitialDirectory = Application.StartupPath;

}

private void button2_Click(object sender, EventArgs e)

{

textBox1.Clear();

int k=0;

try

{

IEnumerable<string> vars = from str in text.Split(new char[] { '.', '?', '!' },

StringSplitOptions.RemoveEmptyEntries)

.Select(x => x.Trim())

let word = str.Split(' ').Select(x => x.Trim()).First()

orderby (((word.Length == 1) && (word != "-") && (word != "-"))) descending

select str + ".";

foreach (string str in vars)

textBox1.AppendText(str);

}

catch(NullReferenceException )

{ MessageBox.Show("Выберете текст"); }

}

private void button5_Click(object sender, EventArgs e)

{

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

textBox3.Text = openFileDialog1.FileName;

StreamReader sreader = new StreamReader(

openFileDialog1.FileName, Encoding.GetEncoding(1251));

text = sreader.ReadToEnd();

textBox2.Text = text;

sreader.Close();

button2.Enabled = true;

}

}

График

Условие: построение графика синус икс.

Форма параметры для графика

Форма содержит:

Текстовое поле для ввода минимального значения аргумента(textBox1)

Текстовое поле для ввода максимального значения аргумента (textBox2)

Кнопка начертить график - перекидывает на форму График

Код:

public partial class Параметры_для_графика : Form

{

public Параметры_для_графика()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

График граф = new График();

try

{

граф.Xmin = Convert.ToInt32(textBox1.Text);

граф.Xmax = Convert.ToInt32(textBox2.Text);

}

catch(FormatException)

{

MessageBox.Show("Неверный формат ввода");

}

граф.ShowDialog();

}

}

Форма график

Код:

public partial class График : Form

{

public График()

{

InitializeComponent();

}

int xmin = 0;

int xmax = 0;

public int Xmin

{

set { xmin = value; }

}

public int Xmax

{

set { xmax = value; }

}

private void График_Load(object sender, EventArgs e)

{

Параметры_для_графика par = new Параметры_для_графика();

chart1.ChartAreas[0].AxisX.ScaleView.Zoom(xmin, xmax);

chart1.ChartAreas[0].CursorX.IsUserEnabled = true;

chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;

chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;

chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;

chart1.ChartAreas[0].AxisY.ScaleView.Zoom(-1, 1);

chart1.ChartAreas[0].CursorY.IsUserEnabled = true;

chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;

chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;

chart1.ChartAreas[0].AxisY.ScrollBar.IsPositionedInside = true;

for (int i = xmin; i <= xmax; i++)

{

chart1.Series[0].Points.AddXY(i, Math.Sin(i));

}

}

}

Заключение

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

Список использованных источников

1. Т.А. Павловская «C#. Программирование на языке высокого уровня».

2. В. Биллиг «Алгоритмы и задачи (Для программирования на языке C#)»

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


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

  • Реализация программы, созданной средствами языка C#. Предназначение Windows-приложения для решения комплекса задач. Определение состава форм с графиком функции. Вычисление коэффициентов полинома. Создание текстового поля для введения корней многочлена.

    курсовая работа [234,8 K], добавлен 13.11.2016

  • Основы программирования на 32-битном Ассемблере, разработка с его помощью программы, демонстрирующей работу одного из разделов ОС Windоws. Описание используемых АРI-функций как интерфейса программирования приложений. Листинг программы, результаты работы.

    курсовая работа [164,5 K], добавлен 18.05.2014

  • Проектирование, кодирование и отладка службы Windows: "Контроль приложений", осуществляющей контроль набора приложений и управление ими; разработка приложения, управляющего этой службой. Взаимодействие службы и приложения; тестирование и сопровождение.

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

  • Основы работы с многооконным графическим пользовательским интерфейсом операционной системы Windows95/NT. Основы работы с прикладными программами Windows и DOS. Разработка простого приложения для Windows при помощи средства разработки приложений DELPHI.

    контрольная работа [281,0 K], добавлен 15.01.2009

  • Проектирование службы Windows и приложения для управления этой службой, которое позволит контролировать данные приложения - запускать и завершать определенные процессы по желанию пользователя через определенные промежутки времени. Инструкция по установке.

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

  • Разработка на языке C++ службы, осуществляющей контроль набора выполняющихся приложений. Проектирование, кодирование, отладка, тестирование и сопровождение службы Windows. Взаимодействие службы и приложения. Интерактивность разрабатываемой службы.

    курсовая работа [964,9 K], добавлен 01.06.2013

  • Описание платформы NET Framework. База данных Microsoft Access. Разработка Windows приложения. Модель программирования Windows Forms. Функциональное назначение программы. Входные и выходные данные. Требования к техническому и программному обеспечению.

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

  • Операционная система MS-DOS: история и характеристика. Обзор стандартных программ операционной системы Windows. Способы запуска программ. Служебные приложения Windows и их назначение: диспетчер задач, проверка, очистка, дефрагментация и архивация диска.

    реферат [221,4 K], добавлен 06.01.2015

  • Характеристика операционной системы. История развития Windows. Сравнительная характеристика версий Windows. Элементы и инструменты Windows XP. Прикладные программы в Windows XP. Работа настольных и портативных компьютеров под управлением Windows.

    доклад [19,1 K], добавлен 16.10.2011

  • Создание Windows-приложения для проведения обучения и тестирования студентов по информационной безопасности. Алгоритм решения задачи, блок-схема работы программы, выбор языка программирования Delphi. Охрана труда программиста, обязанности пользователя.

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

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