Загрузка данных


#include <iostream>     // Подключение потокового ввода и вывода (cin, cout)
#include <clocale>      // Подключение поддержки русского языка
#include "my_func.h"    // Подключение созданной библиотеки с функцией f(x)

using namespace std;    // Использование стандартного пространства имен

int main()
{
    setlocale(LC_ALL, "Russian"); // Включение вывода русского текста в консоли Windows

    // Предусловие: пользователь вводит значения a, b и h (где a <= b, h > 0) для табулирования функции
    // На экран выведена таблица значений аргумента x и функции f(x) на отрезке [a, b] с шагом h
    // Примечание: шаг вводить с запятой, а не с точкой (при русской локали)
    double a, b, h; // границы отрезка [a, b] и шаг h
    double x, y;    // аргумент и значение функции

    cout << "Введите a: ";
    cin >> a; // ввод левой границы

    cout << "Введите b: ";
    cin >> b; // ввод правой границы

    cout << "Введите h: ";
    cin >> h; // ввод шага

    // Проверка корректности введенных данных
    if (h <= 0.0 || a > b)
    {
        cout << "Ошибка ввода" << endl; // вывод ошибки
        system("pause"); // задержка консоли чтоб окно не закрывалось
        return 0;
    }

    cout << "\n    x\t|\tf(x)" << endl; // вывод значений
    cout << "-------------------------" << endl; // добавлено для более понятного вывода в консоль

    x = a; // начальная точка

    // Цикл табуляции от a до b
    while (x <= b + h / 2.0)
    {
        y = f(x); // вызов функции из подключенной библиотеки my_func.h

        cout << x << "\t|\t" << y << endl; // вывод строки значений с табуляцией

        x += h; // следующий шаг
    }

    cout << "-------------------------" << endl; // добавлено для более понятного вывода в консоль

    system("pause"); // задержка консоли чтоб окно не закрывалось
    return 0;
}