Разработка 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