В программе контролируется исключение отсутствие файла infile.txt, из которого программа считывает информацию.




Тестирование программы

Для создания программы использовалась универсальная среда разработки программного обеспечения - Geany 1.27 и компилятор OpenJDK 1.8.0.

 
 

Тест №1 (рисунок 15) демонстрирует работу меню программы.

 

Рисунок 15 — Главное меню программы

 

 
 

Тест №2 (рисунок 16) показывает работу первого пункта меню «Читаем исходные данные», которая cчитает файл infile.txt и выводит на экран объекты с помощью метода output.

 

Рисунок 16 - Вывод данных

Тест №3 (рисунок 17) демонстрирует работу второго пункта меню «Записываем». Команда осуществляет считывание данных со стандартного вводы и записывает результат в файл outfile.txt.

 
 

Рисунок 17 - Ввод данных

 

Тесте №4 (рисунок 18) показывает выполнение пункта меню «Информация о проданных билетах», которая выводит в файл outsold.txt форматированную информацию о проданных билетах, а затем построчно выводит на экран его содержимое.


Рисунок 18 - отчёт по проданным билетам.

 

Тест № 6 (рисунок 19) демонстрирует работу пункта меню «Дописать информацию», которая осуществляет дописывание дополнительного пункта расписания в выходной файл outfile.txt.

 
 

Рисунок 19 - дописывание информации.

 
 

Тест № 7 (рисунок 20) демонстрирует работу пункта меню «Изменить цену», позволяющий исправить цену для одного из маршрутов и записать результат в outfile.txt.

 

 

Рисунок 20 – Изменение цены билета

 

 
 

Тест № 8 (рисунок 21) демонстрирует работу пункта меню «Фильтр по минимальной цене», позволяющий убрать из outfile.txt записи, с ценой меньше заданной, а затем вывести оставшиеся записи на экран.

 

Рисунок 21 — Фильтр по минимальной цене

 

Тест № 9 (рисунок 22) демонстрирует работу пункта меню «Изменить количество проданных билетов», позволяющий исправить количество проданных билетов для одного из маршрутов и записать результат в outfile.txt.

 

 
 

Рисунок 22 - Изменить количество проданных билетов

 

Тест № 10 (рисунок 23) демонстрирует работу пункта меню «Показать отчёт», позволяющий считать данные из outfile.txt и вывести их на экран.

 

 

 
 

Рисунок 23 - Показать отчёт

 

 
 

Рисунок 24 показывает примерный вид файлов infile.txt и outfile.txt.

 

 

Рисунок 24 — Содержимое infile.txt

 

Рисунок 25 показывает примерный вид файла outsold.txt.

 
 

Рисунок 25 — Содержимое outsold.txt

 

4 Реализация задачи на языке C#

Описание программы

Для создания программы использовалась универсальная среда разработки программного обеспечения - Geany 1.27 и Mono 4.2.1.

Исходный код программы находится в приложение A. Рисунок 26 демонстрирует состав проекта программы. Программа состоит из трёх файлов: main.cs, timef.cs, bus.cs.

 


 

Рисунок 26 – Состав проекта программы

 

Файл time.cs содержит описание класса time, его полей и методов.

Класс time используется для работы со временем и содержит поля: hours — количество часов, minutes – количество минут, abs — абсолютное значение времени в минутах:

5) output() – формирует строку заданного формата для её вывода;

6) getabs() - реализует вычисление абсолютного значения времени и запись результата в поле abs;

7) tohhmm() - реализует расчет времени в виде hh:mm и запись результата в поля hours и minutes;

Файл bus.cs содержит описание класса time, его полей и методов.

Класс bus используется для работы с элементами расписания маршрутов и содержит поля: number — номер автобуса, route - маршрут, starttime – время отправления, maker — производитель автобуса, price – цена билета, sold — количество проданных билетов, которые необходимо разобрать и методы:

 

1) input() – реализует ввод информации об автобусе с клавиатуры, а именно номер, маршрут, время отправления, производитель, цена, количество проданных билетов;

2) output() – реализует вывод информации об автобусе на консоль;

3) diskRead(StreamReader fin) – реализует ввод информации об автобусе из файла, на который указывает fin, а именно номер, маршрут, время отправления, производитель, цена, количество проданных билетов;

4) diskWrite(StreamWriter fout) – реализует вывод информации об автобусе в файл, на который указывает fout;

5) outSold(StreamWriter fout) - реализует вывод информации о проданных билетов для каждого автобуса в файл, на который указывает fout;

6) void fixprice(int newprice) – реализует изменение цены для автобуса;

7) void fixprice(int newprice) – реализует изменение количества проданных билетов для автобуса;

8) getnumber() - реализует возврат поля number;

9) getprice() - реализует возврат поля price;

10) getsold(); - реализует возврат поля sold;

 

Файл main.cs содержит описание класса main, его полей и методов.

 

Данный метод не содержит полей, но содержит методы:

 

1) cntlines(String inf) — подсчитывает количество строк в файле inf.

2) read(bus[] data, int cnt, string filename) — считать записи из файла filename в количестве cnt и записать в массив data.

3) read(bus[] data, int cnt, string filename) — записать в файл filename записи в количестве cnt из массива data.

4) Main(strin[] args) - основная функция.

 

В методе main() реализуются следующие возможности:

 

1) Чтение исходных данных из входного файла и вывод их в консоль.

2) Заполнение расписания и его запись в выходной файл.

3) Вывод информации о проданых билетах в специальный файл или консоль.

4) Дописывание информации в выходной файл.

5) Изменение цены для какого-либо маршрута.

6) Фильтрация записей по минимальной цене.

7) Изменение количества проданных билетов для какого-либо маршрута.

8) Чтение отчёта из выходного файла.

9) Завершение работы программы.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: