Создание программы обработки списка авиапассажиров языком программирования С#

Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.01.2016
Размер файла 1,4 M

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

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

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

Содержание

Введение

1. Постановка задачи

1.1 Входная информация

1.2 Выходная информация

2. Инструментальные средства решения задачи

2.1 Обоснование выбора языка программирования

2.2 Техническое описание языка программирования

2.3 Технические требования к компьютеру для решения задачи

2.4 Характеристика аппаратных средств ЭВМ

3. Программное обеспечение решения задачи

3.1 Алгоритм решения задачи

3.2 Описание интерфейса программы

3.3 Отладка и контрольный пример

Заключение

Библиографический список

Приложения

Введение

В связи с тем, что сегодня уровень сложности программного обеспечения очень высок, разработка приложений Windows с использованием только какого-либо языка программирования (например, языка C) значительно затрудняется. Программист должен затратить массу времени на решение стандартных задач по созданию многооконного интерфейса. Реализация технологии связывания и встраивания объектов - OLE - потребует от программиста еще более сложной работы.

Чтобы облегчить работу программиста практически все современные компиляторы с языка C++ содержат специальные библиотеки классов. Такие библиотеки включают в себя практически весь программный интерфейс Windows и позволяют пользоваться при программировании средствами более высокого уровня, чем обычные вызовы функций. За счет этого значительно упрощается разработка приложений, имеющих сложный интерфейс пользователя, облегчается поддержка технологии OLE и взаимодействие с базами данных.

Современные интегрированные средства разработки приложений Windows позволяют автоматизировать процесс создания приложения. Для этого используются генераторы приложений.

Программист отвечает на вопросы генератора приложений и определяет свойства приложения - поддерживает ли оно многооконный режим, технологию OLE, трехмерные органы управления, справочную систему.

Генератор приложений, создаст приложение, отвечающее требованиям, и предоставит исходные тексты.

Пользуясь им как шаблоном, программист сможет быстро разрабатывать свои приложения.

Подобные средства автоматизированного создания приложений включены в компилятор Microsoft Visual Studio 2010 и называются MFC Application. Заполнив несколько диалоговых панелей, можно указать характеристики приложения и получить его тексты, снабженные обширными комментариями.

1. Постановка задачи

Основной задачей программы является работа со списками стекового типа. В стековом списке допустимо только добавление и или извлечение элемента из его вершины. Ещё одной дополнительной возможностью является сортировка числовых элементов списка, а также сохранение введенных числовых данных на диск и соответственного их последующая загрузка из файла в список. Также можно по ходу работы с программой изменять уже введенные числовые данные, удалять и или вызвать справку о программе. Данная программа имеет очень удобный пользовательский интерфейс, который понятен не только разработчикам программных продуктов, но и обычному конечному пользователю. Следует отметить, чем стандартнее пользовательский интерфейс, тем самым программа будет очень популярна, а следовательно позволяет иметь хороший коммерческий успех.

1.1 Входная информация

Входной информацией в программе обработки списка авиапассажиров являются "Направление", "Класс", "ФИО", "Дата вылета", "Цена билета". Вводимые числа не должны выходить за пределы размера типа данных используемого для хранения вводимых чисел. А также входной информацией является загружаемый файл, в котором хранится список, которые были предварительно введены и сохранены в файл.

1.2 Выходная информация

Выходной информацией являются отсортированный список авиапассажиров. Отсортировка может быть произведена по любому из атрибутов списка.

2. Инструментальные средства решения задачи

2.1 Обоснование выбора языка программирования

Microsoft Visual Studio 2010 - один из самых популярнейших систем программирования. Он является объектно-ориентированным языком высокого уровня. Его среда прекрасно подходит для разработки приложений практически любого типа. Можно создавать мощные автономные приложения, служебные утилиты, математические задачи, игры, библиотеки dll, файлы ресурсов, затратив на это меньше времени, чем при работе с любым другим языком программирования. Различные технологии позволяет писать приложения с поддержкой Internet, возможности которых ограничиваются только фантазией программиста. MS Visual Studio 2010 содержит графическую среду, в которой можно наглядно контролировать экранные формы и управляющие элементы, используемые в ваших приложениях.

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

В курсовом проекте будет использоваться язык программирования C#.

C# (произносится "си шарп") -- объектно-ориентированный язык программирования. Разработан в 1998--2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

2.2 Техническое описание языка программирования

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем (однако, эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET). CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены "классические" языки программирования.

2.3 Технические требования к компьютеру для решения задачи

Для работы программы необходимы следующие ресурсы:

- процессор: Pentium 4 (а также другие современные процессоры других производителей);

- объем оперативной памяти: 1024 Мбайт;

- место на жестком диске: 50 Мбайт;

- операционная система: Windows XP, Windows 7, Windows 8;

- устройство чтения компакт-дисков;

- манипулятор типа мышь.

2.4 Характеристика аппаратных средств ЭВМ

Свойства материнской платы:

- ID системной платы: 08/10/2004-i865PE-6A79ZG0MC-00;

- Системная плата: Gigabyte GA-8IPE1000-G;

- Шины: 5 PCI, 1 AGP, 4 DDR DIMM, Audio, Gigabit LAN;

- Системный BIOS: Award Modular BIOS v6.00PG.

Свойства шины FSB:

- Тип шины: Intel GTL+;

- Ширина шины: 64 бит;

- Реальная частота: 111 МГц (QDR);

- Эффективная частота: 444 МГц;

- Пропускная способность: 3556 Мб/с.

Свойства процессора:

- Тип ЦП: Intel Pentium 4, 2000 MHz (18 x 111);

- Псевдоним ЦП: Northwood;

- Степпинг ЦП: D1;

- Наборы инструкций: x86, MMX, SSE, SSE2;

- Кэш L1 трассировки: 12K Instructions;

- Кэш L1 данных: 8 Кб;

- Кэш L2: 512 Кб (On-Die, ECC, ATC, Full-Speed).

Свойства оперативной памяти:

Объем: 2х512 DDR SDRAM;

- Тип шины: Dual DDR SDRAM;

- Ширина шины: 128 бит;

- Соотношение DRAM:FSB: 4:3;

- Реальная частота: 148 МГц (DDR);

- Пропускная способность: 4741 Мб/с

Свойства графического процессора :

- Видеоадаптер: Gigabyte Radeon 9600 Pro;

- Версия BIOS: 008.017D.033.000;

- Тип шины: AGP 8x @ 8x;

- Объем видеоОЗУ: 128 Мб;

- Частота ГП: 398 МГц (исходное: 398 MHz);

- Частота RAMDAC: 400 МГц;

- Пиксельная скорость заполнения: 1592 Мпиксел/с;

Устройства хранения данных:

- ST3120011A - 120Гбайт;

- SONY DVD RW DW-Q28A.

3. Программное обеспечение решения задачи

3.1 Алгоритм решения задачи

Шаг 1. Начало.

Шаг 2. Запуск программы.

Шаг 3. Файл: Открыть текстовый документ, хранящийся на носителе со списком авиапассажиров, выбор файла, перейти к шагу 4.

Шаг 4. Вывод: Данные полученные из текстового файла выводятся в программе, можно редактировать и добавлять новые данные согласно значениям таблицы, перейти к шагу 5.

Шаг 5. Обработка: Заполняем значение обработки, выполняем фильтр. Так же можно отчистить фильтр для заполнения другого значения или отменить фильтр, перейти к шагу 6.

Шаг 6. Сохранение: Выбор места хранения файла, запись на носитель, перейти к шагу 7.

Шаг 7. Выход: Выход, переход к шагу 8.

Шаг 8. Закрытие программы.

Основной алгоритм работы программы выполняется от шага 3 до шага 6.

На шаге 3, при нажатии на меню "Файл" сначала вызывается функция ToolStripMenu, которая обеспечивает появление подменю, предназначенные для открытия, сохнанения или выхода из программы. При нажатиии на подменню "Открыть", вызывается функция openFileDialog для выбора файла, после выбора файла нажимаем кнопку "Открыть" в диалоговом окне. Данные из файла выводятся в программе.

На шаге 4, происходит отображение загруженных данных из файла, для этого используется функция DataGridView с возможностью добавления и редактирования данных, для этого в свойствах функции выставляем параметры AllowUserToAddRows, AllowUserToDeleteRows и ReadOnly.

На шаге 5, происходит обработка списка, путем заполнения одного или нескольких из критериев фильтра, для этого используется функция button для вызова цикла for, где происходит обработка списка путем поиска совпадений.

На шаге 6, происходит сохранение данных в текстовый файл, вызывается функция saveFileDialog. Появляется диологовое окно с выбором места хранения, после нажатия кнопки "Сохранить" происходит запись данных в файл.

Блок-схема представлена в Приложении А.

3.2 Описание интерфейса программы

Интерфейс программы состоит из одного основного окна, показано на рисунке 3.2.1. Открытие текстового файла со списком авиапассажиров, как показано на рисунке 3.2.2. Обработка списка с применение фильтра, как показанное на рисунке 3.2.3.

Рисунок 3.2.1 - Основное окно программы.

Рисунок 3.2.2 - Открытие текстового файла со списком авиапассажиров.

Рисунок 3.2.3 - Применение фильтра при обработке списка.

Основное окно программы, показанное на рисунке 3.2.1, состоит из следующих элементов - меню, список, параметры сортировки и кнопки. В список добавляются, удаляются или загружаются введенные данные.

Меню "Файл" состоит из подменю:

- "Открыть" - используется для загрузки из текстового файла списка авиапассажиров, как это показано на рисунке 3.2.2. При нажатии на эту кнопку, открывается диалоговое окно с выбором места расположения текстового файла на носителе. После выбора файла, необходимо нажать на кнопку "Открыть" - для загрузки данных из файла, или кнопку "Отмена", чтобы отказаться от загрузки в список.

- "Сохранить как" - используется для сохранения введенных элементов списка. При нажатии на эту кнопку, открывается диалоговое окно с выбором места расположения для хранения текстового файла на носителе. После выбора места, необходимо нажать на кнопку "Сохранить" - для загрузки данных из программы в файл, или кнопку "Отмена", чтобы отказаться от сохранения. программирование список visual studio

Меню "Справка" состоит из подменю:

- "О программе…" - используется для вызова окна об основной информации о программе.

Обработка списка состоит из:

- "Направление" - ввод критерия для обработки.

- "Класс" - ввод критерия для обработки.

- "ФИО" - ввод критерия для обработки.

- "Дата вылета" - ввод критерия для обработки.

- "Цена билета" - ввод критерия для обработки.

- кнопка "Фильтр" - обработка списка по введенным критериям.

- кнопка "Очистить" - отчистка введенных критерий для обработки.

- кнопка "Отменить фильтр" - вывод полного списка без обработки.

Программа состоит из следующих исходных файлов:

- Form1.cs

- Form1.Designer

Исходный код программы представлен в Приложении Б.

3.3 Отладка и контрольный пример

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

Различают три вида ошибок: логические, синтаксические и исключения. Синтаксические сопровождаются сообщением "Sintacsis error". Ошибки исключения возникают когда программа не находит нужного файла и выдаёт сообщение об ошибки, после которой обычно программа заканчивает свою работу некорректно.

Отладчик Microsoft Visual Studio 2010 представляет собой мощное средство, предназначенное для создания, тестирования и отладки приложений. Отладчик позволяет:

- установить точки останова;

- просмотреть и изменить значения переменных;

- выполнить программу в пошаговом режиме;

- показать трассировку выполнения программы;

- проследить происходящие события.

Контрольный пример открытия текстового файла со списком, обработка списка приведена в Приложении В.

Заключение

В курсовой работе была рассмотрена работа в Microsoft Visual Studio 2010 с языком программирования С#, на котором была реализована программа обработки данных. Метод ввода данных из текстового файла, как и сохранения введенных данных в файл, и их последующей загрузке из файла. Так для обработки списка по определенным критериям, был реализован фильтр.

Данная программа легка в обращении и не требует определенных навыков работы с системами программирования, так пользователю не придется задавать параметры кнопок и описывать происходящие с ними события.

Библиографический список

1. Дж. Рихтер, CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4-е изд.

2. Ч. Петцольд, Программирование для Microsoft Windows 8. 6-е изд.

3. А. Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд, Язык программирования C#. Классика Computers Science. 4-е изд.

4. Дж. Ликнесс, Приложения для Windows 8 на C# и XAML

5. Э. Стиллмен, Дж. Грин, Изучаем C#. 3-е изд.

Приложения

Приложение А

Блок-схема программы

Приложение Б

Листинг программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;//Ввод-вывод (открыть, сохранить)

using System.Data.OleDb;//Интерфейс взаимодействия с БД

namespace kursovik

{

public partial class Form1 : Form

{

public int n = new int();

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

try

{

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

{

if (

dataGridView1.Rows[i].Cells[0].Value.ToString().Contains(textBox1.Text) &&

dataGridView1.Rows[i].Cells[1].Value.ToString().Contains(textBox2.Text) &&

dataGridView1.Rows[i].Cells[2].Value.ToString().Contains(textBox3.Text) &&

dataGridView1.Rows[i].Cells[3].Value.ToString().Contains(textBox4.Text) &&

dataGridView1.Rows[i].Cells[4].Value.ToString().Contains(textBox5.Text))

{

dataGridView1.Rows[i].Visible = true;

}

else

{

dataGridView1.Rows[i].Visible = false;

}

}

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

{

if (dataGridView1.Rows[i].Visible == false)

{

n = 1;

}

else

{

n = 0;

break;

}

}

if (n == 1)

{

MessageBox.Show("Ничего не найдено", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

catch (NullReferenceException)

{

MessageBox.Show("Введите текст для поиска.\n", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

}

private void открытьToolStripMenuItem_Click_1(object sender, EventArgs e)

{

openFileDialog1.RestoreDirectory = true;

openFileDialog1.Filter = "Текстовые файлы (*.txt)|*.txt";

openFileDialog1.FileName = "";

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

{

string[] text;

dataGridView1.Rows.Clear();

string[] input = File.ReadAllLines(openFileDialog1.FileName, Encoding.Default);//считывание данных из массива

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

{

text = input[i].Split(new char[] { '\t' }, StringSplitOptions.RemoveEmptyEntries);//структурирование для таблицы(просмотр табуляции)

dataGridView1.Rows.Add(text);

}

}

}

private void сохранитькакToolStripMenuItem_Click_1(object sender, EventArgs e)

{

Stream str;//структура, реализующая запись в файл

saveFileDialog1.FileName = "Список пассажиров";

saveFileDialog1.Filter = "Текстовые файлы (*.txt)|*.txt";

saveFileDialog1.RestoreDirectory = true;

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

{

str = saveFileDialog1.OpenFile();//открытие выбранного файла (или создание пустого)

StreamWriter sym = new StreamWriter(str, Encoding.Default);//переменная для записи символов из потока в файл

try

{

for (int i = 0; i < dataGridView1.RowCount; i++)

{

for (int j = 0; j < dataGridView1.ColumnCount; j++)

{

sym.Write(dataGridView1.Rows[i].Cells[j].Value.ToString() + '\t' + '\t');//запись в sym значений из таблицы

}

sym.WriteLine();//запись в документ

}

}

catch

{

}

sym.Close();//закрытие переменных записи

str.Close();//закрытие переменных записи

}

}

private void выходToolStripMenuItem_Click_1(object sender, EventArgs e)

{

Close();

}

private void опрограммеToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show("Cоздана SVS",

"kursovik", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

private void button2_Click(object sender, EventArgs e)

{

textBox1.Clear();

textBox2.Clear();

textBox3.Clear();

textBox4.Clear();

textBox5.Clear();

}

private void button3_Click(object sender, EventArgs e)

{

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

{

dataGridView1.Rows[i].Visible = true;

}

}

}

}

Приложение В

Контрольный пример обработки списка авиапассажиров

После запуска программы необходимо нажать в меню "Файл", далее в появившемся подменю выбираем "Открыть", открывается диалоговое окно с выбором места расположения текстового файла на носителе, выбираем файл и нажимаем кнопку "Открыть". Результат выполнения этих действий показан на рисунке 1.

Рисунок 1 - Список авиапассажиров.

Теперь необходимо обработать список по одному или несколько критериев.

Для обработки необходимо ввести один из критериев фильтра и нажать на кнопку "Фильтр", результат выполнения этой обработки показан на рисунке 2.

Рисунок 2 - Обработка по одному из критериев.

Также возможно отчистить фильтр, для ввода другого критерия, для этого необходимо нажать на кнопку "Отчистить". Для вывода всего списка без обработки, необходимо нажать кнопку "Отменить фильтр".

Для сохранения списка авиапассажиров в текстовый файл, необходимо нажать на меню "Файл" и в подменю выбрать "Сохранить как", открывается диалоговое окно с выбором места расположения для хранения текстового файла на носителе.

После выбора места, необходимо нажать на кнопку "Сохранить", результат выполнения показан на рисунке 3.

Рисунок 3 - Сохранение списка в файл.

Как видно из рисунков выше, всё в программе работает корректно. Обработка происходит по любому из выбранных критериев фильтра. Также корректно происходят и все остальные операции, которые используются для управления программой.

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


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

  • Структура записей входного массива. Описание основных типов данных. Алгоритм программы: присвоение начальных значений переменных, чтение списка из файла, вывод данных на экран, выполнение обработки данных, сохранение списка в файл. Листинг программы.

    курсовая работа [325,2 K], добавлен 28.12.2012

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

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

  • Сравнительный анализ языков программирования высокого уровня Си и Паскаль. Реализация алгоритма обработки данных. Тестирование и отладка программы или пакета программ. Структура программы на языке Турбо Паскаль. Указатели и векторные типы данных.

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

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Основы работы с языком программирования Visual Basic 6.0, разработка и обработка созданных баз данных. Создание экранной формы и запросов по таблице VIP. Алгоритм совместного запроса по таблицам VIP и PROD. Методика разработки пользовательского меню.

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

  • Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.

    курсовая работа [711,4 K], добавлен 27.07.2014

  • Освоение функций работы со структурами данных и файлами. Разработка программного обеспечения для создания, обработки сведений о сотрудниках учреждения. Реализация алгоритма программы в среде Microsoft Visual Studio 2010. Изучение руководства пользователя.

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

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

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

  • Создание программы, работающей с набором данных на внешнем устройстве. Описание программного комплекса. Обзор структуры главной программы. Процедура добавления новых элементов, поиска и создания на экране вертикального меню. Проверка работы программы.

    курсовая работа [265,6 K], добавлен 28.08.2017

  • Изучение принципов построения линейных алгоритмов и простых расчетных программ на языке программирования C. Разработка программы расчета математических выражений на основе вводимых данных. Создание консольных приложений в среде Microsoft Visual Studio.

    лабораторная работа [254,4 K], добавлен 23.11.2014

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