Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа №4.docx
Скачиваний:
1
Добавлен:
27.01.2025
Размер:
1.02 Mб
Скачать

4 Разработка программного проекта

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

4.1 В файле main.cpp будет лежать наша главная функция main, программный код которой содержит только вызов разработанной функции CalcY. Перед определением главной функции main в файл включен прототип вызываемой в ней функции CalcY.

#include <iostream>

using namespace std;

void CalcY(void);

int main()

{

CalcY();

system("PAUSE");

return 0;

}

4.2 В файле CalcY.cpp лежит функция CalcY, программный код которой содержит вызов функций GetT, GetY0, GetV0 – отвечающие за ввод значений и PutY – для вывода полученного у. Внутри функции происходит присваивание значение константе g, а также считается значение y по формуле 1. Перед определением функции CalcY в файл включены прототипы вызываемых в ней функций GetT, GetY0, GetV, PutY.

#include <iostream>

using namespace std;

void GetT(double&);

void GetY0(double&);

void GetV0(double&);

void PutY(double);

void CalcY()

{

double g, t, v0, y0, y;

g = 9.8;

GetT(t);

GetY0(y0);

GetV0(v0);

y = y0 + v0 * t - g * t * t / 2;

PutY(y);

}

4.3 В файле GetPut.cpp лежат функции GetT, GetY0, GetV, PutY. Программный код процедуры GetT содержит вызов функции numb, предназначенной для ввода и проверки корректности введённых данных. Также внутри функции проверяется принадлежность введённого значения заданному диапазону. В противном случае программа просит ввести значение заново.

void GetT(double&t)

{

cout << "Введите время t = ";

cin >> t;

while (true)

{

numb(t);

if (t < 0)

{

cout << "Ошибка! Время не может быть отрицательным!\n";

cout << "Введите время t = ";

cin >> t;

}

else

{

break;

}

}

}

void GetY0(double&y0)

{

cout << "Введите начальную координату y0 = ";

cin >> y0;

numb(y0);

}

void GetV0(double&v0)

{

cout << "Введите скорость (м/с), v0 = ";

cin >> v0;

while (true)

{

numb(v0);

if (v0 < 0)

{

cout << "Ошибка! Скорость не может быть отрицательной!\n";

cout << "Введите значение начальной скорости (м/с), v0 = ";

cin >> v0;

}

else

{

break;

}

}

}void PutY(double y)

{

cout << "Высота в данный момент времени y = ";

cout << y << endl;

}

#include <iostream>

using namespace std;

void numb(double&nu)

{

while (true)

{

if (cin.fail())

{

cin.clear();

cin.ignore(1000, '\n');

cout << "Ошибка! Введенные данные не являются числом\n";

cout << "Введите t = ";

cin >> nu;

}

else

{

break;

}

}

}

4.4 В файле numb.cpp лежит функция numb, программный код которой предназначен для ввода и проверки корректности введённых данных. Данная функция проверяет: является ли введенное значение числом. Если введенное значение некорректно – программа попросит ввести число заново. Функция возвращает вещественное число.