Разработка информационно-справочной системы расписания поездов
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
попробуем занести изменённое расписание в файл с именем Новое расписание курского вокзала. Данный файл вы можете посмотреть в папке Курсовая работа. Лабазова и убедиться в том, что наш добавленный поезд остался, удалённый исчез, а изменения маршрута не сохранились.
Далее вам выведется сообщение о том, что файл успешно записан.
Рисунок 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