Я пишу программу на C++ с использованием строк и циклов if/else, которая позволяет пользователю ввести скорость и местоположение, и выводить время в пути [закрыто].

Вопрос или проблема

В C++ Как я могу использовать/улучшить свою строку и структуру else/if, чтобы получить желаемый результат. Учитывая, что у меня есть расстояния до каждого места, в зависимости от скорости пользователя, вывод должен звучать как “слишком быстро”, “слишком медленно”, “в самый раз”. Определяется по интервалу времени безопасной поездки (также известному).

МОЙ КОД

#include <iostream>
#include <cmath>
#include <string>
using namespace std;

int main()
{
    double d = 0.0, t, v, v1;
    double JFK = 24.60, Bayridge = 8.70, Jerseycity = 11.30;

    string Destination; 
    cout << "Введите пункт назначения" << endl;
    getline(cin, Destination);
    if (Destination == "JFK") {
        cout << "Расстояние составляет 24.6 миль" << endl;
        cout << "Введите скорость" << endl;
        cin >> v;
        v1 = v * 0.0372822715;
        t = JFK / v1;
        if (t >= 33.00) {
            cout << "Слишком медленно" << endl;
        }
    }
    cout << "";
    return 0;
}

Ответ или решение

Чтобы создать программу на C++, которая будет оценивать скорость пользователя в зависимости от введенной дистанции и выводить соответствующее сообщение ("слишком быстро", "слишком медленно" или "все в порядке"), вам необходимо учесть время, необходимое для безопасной поездки до каждой из заданных локаций. Я поможет вам усовершенствовать вашу программу с добавлением полноценного функционала. Вот доработанный код:

#include <iostream>
#include <cmath>
#include <string>
using namespace std;

int main() {
    double t, v, v_adjusted;
    const double JFK_distance = 24.60;
    const double Bayridge_distance = 8.70;
    const double Jerseycity_distance = 11.30;

    string Destination;
    cout << "Введите пункт назначения (JFK, Bayridge, Jerseycity): ";
    getline(cin, Destination);

    if (Destination == "JFK") {
        cout << "Расстояние до JFK: 24.6 миль." << endl;
    } else if (Destination == "Bayridge") {
        cout << "Расстояние до Bayridge: 8.7 миль." << endl;
    } else if (Destination == "Jerseycity") {
        cout << "Расстояние до Jerseycity: 11.3 миль." << endl;
    } else {
        cout << "Неизвестное направление." << endl;
        return 0;
    }

    cout << "Введите скорость (миль/час): ";
    cin >> v;

    // Переводим скорость в метры в секунду для расчетов (по необходимости)
    v_adjusted = v;

    // Время в часах для каждой локации
    if (Destination == "JFK") {
        t = JFK_distance / v_adjusted;
    } else if (Destination == "Bayridge") {
        t = Bayridge_distance / v_adjusted;
    } else if (Destination == "Jerseycity") {
        t = Jerseycity_distance / v_adjusted;
    }

    // Оценка времени
    if (t < 0.5) { // слишком быстро (менее 30 минут)
        cout << "Скорость: слишком быстро." << endl;
    } else if (t >= 0.5 && t <= 1) { // в порядке (от 30 минут до 1 часа)
        cout << "Скорость: все в порядке." << endl;
    } else { // слишком медленно (более 1 часа)
        cout << "Скорость: слишком медленно." << endl;
    }

    return 0;
}

Объяснение кода:

  1. Объявление переменных: Я создал переменные для хранения времени, скорости и скорректированной скорости (если требуется).
  2. Константы расстояний: Я использую константы для хранения расстояний до разных мест.
  3. Пользовательский ввод: Программа запрашивает у пользователя пункт назначения и соответствующую скорость.
  4. Расчет времени: В зависимости от выбора пункта назначения программа вычисляет время поездки.
  5. Оценка скорости: В зависимости от полученного времени программа выводит сообщение о скорости: "слишком быстро", "все в порядке", или "слишком медленно".

Дополнения:

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

Программа готова к использованию и поможет пользователю правильно выбрать безопасную скорость передвижения!

Оцените материал
Добавить комментарий

Капча загружается...