Разработка информационно-справочной системы расписания поездов

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

попробуем занести изменённое расписание в файл с именем Новое расписание курского вокзала. Данный файл вы можете посмотреть в папке Курсовая работа. Лабазова и убедиться в том, что наш добавленный поезд остался, удалённый исчез, а изменения маршрута не сохранились.

Далее вам выведется сообщение о том, что файл успешно записан.

 

Рисунок 8 Запись изменённого расписания в файл

 

Найти поезда

Теперь попробуем открыть наше изменённое расписание и найти в нём интересующие нас поезда. Введём в окне параметр для поиска слово горький и нажмём кнопку по маршруту. На экране появятся все поезда, следующие до Горького.

 

Рисунок 9 Поиск поездов до Горького

 

Далее вернёмся к исходному расписанию, нажав кнопку вернуться к расписанию.

 

Рисунок 10 Исходное расписание

 

Справка

Теперь откроем справку и получим сведения о поставленной задаче, разработчике и его научном руководителе.

 

Рисунок 11 Дополнительные сведения

 

Выход

Мы выполнили всё, что нам хотелось, теперь выйдем из программы. При нажатии на кнопку выход у нас открывается диалоговое окно.

 

Рисунок 12 Пользователь может покинуть программу

 

При нажатии на нет, пользователь возвращается в программу. Но мы нажмём да и выйдем из неё.

Наше тестиование успешно завершено!

 

9.Выводы по работе

 

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

.Открывать интересующий пользователя текстовый документ определённого формата

.Изменять его, добавляя и удаляя объекты, а также изменяя некоторые параметры

.Находить нужные объекты по различным параметрам.

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

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

 

Приложение

 

1) Полный справочник по C#, Шилдт Г.

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

 

using System;System. Collections. Generic;System. Text;

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

{class Poezd

{int pyt; // закрытое поле (номер пути)int nom; // закрытое поле (номер поезда)double time; // закрытое поле (время отбытия)string marshrut; // закрытое поле (маршрут)Poezd (int pyt, int nom, double time, string marshrut) // конструктор, дающий доступ к закрытым полям

{.pyt = pyt;.nom = nom;.time = time;.marshrut = marshrut;

}int Pyt1 // метод, присваивающий и возвращающий значение поля pyt

{{return pyt;}{pyt = value;}

}int Nom1 // метод, присваивающий и возвращающий значение поля nom

{{return nom;}{nom = value;}

}double Time1 // метод, присваивающий и возвращающий значение поля time

{{return time;}{time = value;}

}string Marshrut1 // метод, присваивающий и возвращающий значение поля marshrut

{{return marshrut;}{marshrut = value;}

}

}

}

 

using System;System. Collections. Generic;System. ComponentModel;System. Data;System. Text;System. Windows. Forms;

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

{partial class Cpravka: Form

{Cpravka()

{();

}

void Cpravka_Load (object sender, EventArgs e)

{

 

}

}

}

System;System. Collections. Generic;System. ComponentModel;System. Data;System. Text;System. Windows. Forms;System.IO;

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

{partial class Form1: Form

{Form1 ()

{();

}

(); // второй массив класса Poezdpoezd; // объект класса Poezdstr=; // строка[] str1; // массив строкprobel = ; // переменная со значением пробелint pyt1 = 0; // целочисленная переменнаяint nom1 = 0; // целочисленная переменнаяdouble time1 = 0.00; // нецелочисленная переменнаяstring marshryt1 = ; // сторокаint nomizm = 0; // целочисленная переменнаяreadonly Cpravka spravka = new Cpravka(); // объект класса Cpravkaint f = 0; // целочисленная переменная co значением 0

void посмотретьРасписаниеToolStripMenuItem_Click (object sender, EventArgs e)

{ // возвращение и удаление объектов из видимого режима. Rows. Clear();. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = true;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = true;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = false;

}

 

// считывание информации из файлаvoid button1_Click (object sender, EventArgs e)

{. Visible = true;. Clear();fs; // объект библиотечного класса FileStreamsr; // объект библиотечного класса StreamReader

{. ShowDialog(); // выбор считываемого текстового файла= new FileStream (openFileDialog1. FileName, FileMode. Open);= new StreamReader (fs, Encoding. Default);

(true) // извлечение данных из текстового файла в массив

{= sr. ReadLine(); // построчное считывание= str. Split(probel); // разбиение элементов по пробелу= new Poezd (Convert. ToInt32 (str1 [0]), Convert. ToInt32 (str1 [1]), Convert. ToDouble (str1 [2]), str1 [3]); // присвоение значений. Add(poezd); // добавление в массив

}. Close(); // конец считывания. Close();

}{}. Rows. Clear(); // очищение DataGridView

// засылаем информацию в DataGridView(Poezd p in rasp)

{. Rows. Add (p. Pyt1, p. Nom1, p. Time1, p. Marshrut1);

}

}void изменитьРасписаниеToolStripMenuItem_Click (object sender, EventArgs e)

{ // проверка на наличие расписания(spisok. Rows. Count == 1)

{. Show (Чтобы изменить расписание, откройте его);;

}. Visible = false; // возвращение и удаление объектов из видимого режима. Visible = true;. Visible = false;. Visible = fal