Реализация задачи на языке JAVA




Содержание

Введение. 4

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

2. Реализация задачи на языке С++. 6

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

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

3 Реализация задачи на языке JAVA.. 12

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

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

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

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

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

Заключение. 24

Список использованных источников. 25

Приложение А.. 26

Приложение Б. 39

Приложение B.. 48

Введение

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

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

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

Для достижения цели программное обеспечение должно:

- учитывать основные запросы пользователя, то есть доступ до самых важных функций должен быть простым;

- экономить время, а точнее сортировать информацию, располагая данные понятно для пользователя;

- иметь простой и понятный интерфейс;

- не нести лишнюю информацию, не нужную пользователю, тем самым отвлекая его от работы с необходимыми данными об экспортируемых товарах;

- знать о возможных человеческих ошибках, тем самым не только оставаться в рабочем состоянии, но и указать пользователю, где он ошибся;

- осуществлять поиск по нужному критерию, для облегчения нахождения нужной информации пользователя;

- иметь возможность редактировать информацию.

 

 


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

Основной задачей курсовой работы является создание программного обеспечения для обработки расписания автобусов

Программное обеспечение должно выполнять следующее:

1. Создавать или считать файл отчёта со структурой записи:

- Номер автобуса;

- Данные о маршруте;

- Время отправления автобуса;

- Название производителя автобуса;

- Цена одного билета;

- Количество проданных билетов.

 

2. Выдавать на экран содержимое только что созданного или уже готового файла.

3. Выдавать на экран все элементы расписания, для которых цена билета будет больше определённой суммы.

4. Сформировать файл информации о проданных билетах: номер автобуса и количество проданных билетов и вывести его содержимое на экран.

5. Добавлять запись в файл отчёта.

6. Изменить цену или количество проданных билетов для заданного номера автобуса.

 


2. Реализация задачи на языке С++

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

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

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

 
 

 

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

Файл timef.hpp содержит объявление класса timef, файл timef.cpp содержит определение методов класса timef.

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

1) read() – реализует ввод времени с клавиатуры, а именно количество часов и минут;

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

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

4) readinp(string raw) – реализует чтение данных из корректно сформированной строки;

5) int verify(string raw) – метод проверяет корректность введённых значений.

Файл bus.hpp содержит объявление класса TV, файл bus.cpp содержит определение методов класса TV.

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

 

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

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

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

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

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

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

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

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

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

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

 

Файл main.cpp содержит описание класса 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(int argc, char **argv) - основная функция.

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

 

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

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

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

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

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

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

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

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

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

 

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

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

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

 
 

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

 

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

 

 
 

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

 

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

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

 
 

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

 

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


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

 

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

 
 

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

 
 

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

 

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

 

 
 

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

 

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

 

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

 

 
 

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

 

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

 

 

 
 

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

 

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

 

 
 

 

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

 

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

 
 

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

Реализация задачи на языке JAVA

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

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

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

 


 

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

 

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

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

1) read() – реализует чтение данных из переданного объекта типа Scanner;

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

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

 

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

 

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

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

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

8) main(String args[]) - основная функция.

 

 

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

 

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

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

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

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

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

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

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

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

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

 



Поделиться:




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

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


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