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

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

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

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

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

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

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

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

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

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

Студент

Гатауллин Д.К.

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

Введение

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

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

1. Program.cs

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

3. График.cs

4. Задача1.cs

5. Задача2.cs

6. Задача3.cs

7. Задача4.cs

8. Задача5.cs

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

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

Код:

static class Program

{

/// <summary>

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

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

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

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

1. 1 задача

2. 2 задача

3. 3 задача

4. 4 задача

5. 5 задача

6. График

7. Выход

Рисунок 1

Код:

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

Рисунок 2

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

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

2. Назад (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)

Рисунок 3

{

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

Рисунок 4

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

Рисунок 5

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

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

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

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

4. Кнопку Назад (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

Рисунок 6

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

Рисунок 7

программа windows приложение график

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

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

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

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

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

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

Код:

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

Рисунок 8

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

Рисунок 9

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

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

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

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

Код:

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

Рисунок 10

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

Рисунок 11

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

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

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

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

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

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

Код:

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;

}

}

График

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

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

Рисунок 12

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

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

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

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

Код:

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();

}

}

Форма график

Рисунок 13

Код:

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


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

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

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

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

    лекция [65,7 K], добавлен 24.06.2009

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

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

  • Использование Windows Installer с целью управления установкой и конфигурированием приложений. Работа в среде Microsoft Word: создание текстового документа со встроенным готовым рисунком. Разработка алгоритма и программы расчета ежемесячной квартплаты.

    контрольная работа [1,3 M], добавлен 31.05.2012

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

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

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

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

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

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

  • Создание программы "MP3 Player", воспроизводящей аудио файлы формата MP3 для работы в операционной системе Windows с использованием языка программирования Delphi. Разработка интерфейса, алгоритма и документации к разработанному программному продукту.

    курсовая работа [625,0 K], добавлен 18.07.2012

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

    дипломная работа [2,5 M], добавлен 29.12.2014

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

    дипломная работа [917,4 K], добавлен 15.01.2014

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