Skip to content

ReNothingg/PathCalculation

Repository files navigation

Реализации программы расчета километража

Назначение программы

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

Пользователь заполняет таблицу со следующими полями:

  • Цена бензина
  • Цена газа
  • Километраж
  • Экономия

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

Используемая формула

Расчет выполняется по формуле:

$km = \frac{\text{экономия}}{\text{бензин} - \text{газ}}$

Где:

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

Как была реализована программа

1. Создан графический интерфейс WinForms

В форме приложения была настроена таблица DataGridView, в которой размещены все необходимые столбцы:

  • Цена бензина
  • Цена газа
  • Километраж
  • Экономия

Также на форме размещены:

  • заголовок программы
  • строка с формулой расчета
  • нижняя строка статуса для сообщений пользователю

2. Настроена работа с несколькими строками

Таблица поддерживает добавление новых строк. Пользователь может вводить значения в последнюю пустую строку, и таблица автоматически создает следующую.

Это позволяет рассчитывать сразу несколько вариантов:

  • с разными ценами топлива
  • с разной суммой экономии
  • для сравнения нескольких сценариев

3. Реализован автоматический расчет

После изменения данных в строке программа:

  1. Проверяет, какая строка была изменена.
  2. Считывает значения из столбцов Цена бензина, Цена газа и Экономия.
  3. Проверяет корректность введенных данных.
  4. Вычисляет километраж по формуле.
  5. Записывает результат в ячейку Километраж той же строки.

Таким образом, каждая строка таблицы рассчитывается независимо от остальных.

4. Добавлены проверки корректности данных

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

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

Если данные введены неверно, программа очищает расчет в этой строке и выводит понятное сообщение в строке статуса.

5. Исключено повторное срабатывание расчета

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

Это нужно для того, чтобы:

  • избежать лишних пересчетов
  • не допустить циклических вызовов обработчиков событий
  • сохранить стабильную работу формы

Структура файлов

Основная логика программы находится в следующих файлах:

  • Form1.Designer.cs - описание интерфейса формы
  • Form1.cs - логика расчета, обработка событий и проверки данных
  • Program.cs - точка входа в приложение
  • PathCalculation.csproj - файл проекта WinForms

Основные элементы реализации

В логике программы использованы:

  • DataGridView для табличного ввода данных
  • обработчики событий CellValueChanged и CellEndEdit
  • метод отдельного расчета для каждой строки таблицы
  • метод проверки введенных значений
  • статусная строка для вывода сообщений пользователю

Алгоритм работы программы

Общий алгоритм можно описать так:

  1. Пользователь открывает программу.
  2. В таблице вводит цену бензина.
  3. Вводит цену газа.
  4. Вводит требуемую экономию.
  5. Программа автоматически вычисляет километраж.
  6. Результат появляется в столбце Километраж.
  7. При необходимости пользователь добавляет новую строку и повторяет расчет.

Результат

В результате была получена программа с графическим интерфейсом, которая:

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

Проверка работоспособности

dotnet build -p:UseAppHost=false

Для создания exe файла используйте:

dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

И exe файл появился по пути bin/Release/net10.0-windows/win-x64/publish/PathCalculation.exe

About

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

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages