#include <iostream> // Потоковый ввод и вывод
#include <clocale> // Локализация для русского языка
#include <iomanip> // Форматирование таблицы (setw, fixed)
#include "my_func.h" // Подключение созданной библиотеки с функцией f(x)
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian"); // Поддержка русского языка в консоли
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 | f(x) " << endl;
cout << "--------------------------" << endl;
x = a; // начальная точка
// Настройка вывода чисел с плавающей точкой
cout << fixed << setprecision(4);
// Цикл табуляции от a до b
while (x <= b + h / 2.0)
{
// Вызов функции из подключенной библиотеки
y = f(x);
// Вывод строки таблицы с форматированием по ширине
cout << setw(10) << x << " | " << setw(10) << y << endl;
x += h; // следующий шаг
}
cout << "--------------------------" << endl;
system("pause"); // задержка окна консоли
return 0;
}