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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    6,41 Кб
  • Опубликовано:
    2016-11-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

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











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

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

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


Студент

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




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

Введение

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

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

1.Program.cs

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

.График.cs

.Задача1.cs

.Задача2.cs

.Задача3.cs

.Задача4.cs

.Задача5.cs

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

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

Код:

static class Program

{

/// <summary>

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

/// </summary>

[STAThread]void Main()

{.EnableVisualStyles();.SetCompatibleTextRenderingDefault(false);.Run(new Form1());

}

}

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

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

.1 задача

.2 задача

.3 задача

.4 задача

.5 задача

.График

.Выход

Рисунок 1

Код:

public partial class Form1: Form

{Form1()

{();

}void button6_Click(object sender, EventArgs e)

{();

}void button2_Click(object sender, EventArgs e)

{

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

}void button3_Click(object sender, EventArgs e)

{

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

}void button7_Click(object sender, EventArgs e)

{

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

param.ShowDialog();

}void button4_Click(object sender, EventArgs e)

{

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

}void button5_Click(object sender, EventArgs e)

{

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

}void button1_Click(object sender, EventArgs e)

{

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

}

}

Задача 1

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

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


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

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

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

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

Код:

partial class Задача1: Form

{

public Задача1()

{

InitializeComponent();

}int L1

{{ return comboBox1.SelectedIndex; }

}int L2

{{ return comboBox2.SelectedIndex; }

}void button2_Click(object sender, EventArgs e)

Рисунок 3

{

textBox1.Clear();

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

{textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 1) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 2) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3)))

{ textBox1.AppendText("Сложение, Умножение"); }((L2 == 2) && (((L1 >= 0) && (L1 <= 12)) && (L1 != 3)))

{ textBox1.AppendText("Сложение, Умножение"); }((L1 == 3) && ((L2 >= 0) && (L2 <= 13)))

{ textBox1.AppendText("Ни одной операции"); }((L2 == 3) && ((L1 >= 0) && (L1 <= 13)))

{ textBox1.AppendText("Ни одной операции"); }((L1 == 4) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 5) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 6) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 7) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 8) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 9) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 10) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

{ textBox1.AppendText("Сложение, Вычитание Умножение, Деление Остаток от деления, Больше, Меньше"); }((L1 == 11) && (((L2 >= 0) && (L2 <= 12)) && (L2 != 3) && (L2 != 2)))

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

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

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

Код:

partial class Задача2: Form

{Задача2()

{();

}void button2_Click(object sender, EventArgs e)

{text1;kk;

{= double.Parse(text.Text);digitCount = (int)Math.Log10(text1) + 1;= text1 / Math.Pow(10, digitCount);= int.Parse(k.Text);[] b = new string[kk];text2;= text1 - Math.Truncate(text1);.Clear();.AppendText("0,");(int i = 0; i < kk; i++)

{= text2 * 4;[i] = Convert.ToString(Math.Truncate(text2));= text2 - Math.Truncate(text2);.AppendText(b[i]);

}

}(FormatException)

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

}

}

}

Задача 3

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

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

Рисунок 6

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

Рисунок 7

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

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

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

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

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

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

Код:

partial class Задача3: Form

{Задача3()

{();

}void button1_Click(object sender, EventArgs e)

{

{g_kof, n;_kof = int.Parse(an.Text);korni;= korn.Text;[] outp = korni.Split(' ');[] x = new int[outp.Length];(int i = 0; i < x.Length; i++)

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

}= outp.Length;[] a = new int[n+1];

//Вычисляем коэффициенты полинома первой степени[1] = 1; a[0] = -x[0];

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

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

{

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

//Вначале старший коэффициент[k] = a[k - 1];

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

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

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

}

//теперь младший коэффициент[0] = -a[0] * x[k - 1];

}.Clear();

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

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

{[i] = a[i] * g_kof;.AppendText(a[i] + " ");

}(FormatException)

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

}

Задача 4

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

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

Рисунок 8

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


Рисунок 9

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

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

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

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

Код:

partial class Задача4: Form

{Задача4()

{();

}void button2_Click(object sender, EventArgs e)

{n = text.TextLength;k = 0;st = text.Text;[] a = st.ToCharArray();(int i = 0; i < n; i++)

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

k=k+1;

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

}

}

Задача 5

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

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

Рисунок 10

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

Рисунок 11

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

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

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

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

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

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

Код:

partial class Задача5: Form

{string text;Задача5()

{();.InitialDirectory = Application.StartupPath;

}void button2_Click(object sender, EventArgs e)

{.Clear();k=0;

}(NullReferenceException )

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

}void button5_Click(object sender, EventArgs e)

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

{.Text = openFileDialog1.FileName;sreader = new StreamReader(.FileName, Encoding.GetEncoding(1251));= sreader.ReadToEnd();.Text = text;.Close();

button2.Enabled = true;

}

}

График

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

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

Рисунок 12

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

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

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

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

Код:

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

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

{();

}void button1_Click(object sender, EventArgs e)

{

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

{

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

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

}(FormatException)

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

}

граф.ShowDialog();

}

}

Форма график

Рисунок 13

Код:

public partial class График: Form

{График()

{();

}xmin = 0;xmax = 0;int Xmin

{{ xmin = value; }

}int Xmax

{{ xmax = value; }

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

{

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

chart1.ChartAreas[0].AxisX.ScaleView.Zoom(xmin, xmax);.ChartAreas[0].CursorX.IsUserEnabled = true;.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;.ChartAreas[0].AxisX.ScaleView.Zoomable = true;.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;.ChartAreas[0].AxisY.ScaleView.Zoom(-1, 1);.ChartAreas[0].CursorY.IsUserEnabled = true;.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;.ChartAreas[0].AxisY.ScaleView.Zoomable = true;.ChartAreas[0].AxisY.ScrollBar.IsPositionedInside = true;(int i = xmin; i <= xmax; i++)

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

}

}

}

Заключение

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

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

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

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

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!