Как мне распечатать таблицу ?
Используя приведенные ниже уравнения для снаряда, создайте программу, которая строит графики и отображает траекторию полета снаряда. Программа должна иметь следующее:
1)основная функция программы вызовет все вспомогательные функции, но основная функция не выполняет никаких вычислений, она просто вызывает другие функции.
2) функция, которая запрашивает у пользователя ввод инциальной скорости от 10 до 100 м/с и угла от 15 до 75 градусов. Эта функция должна получить только инциальную скорость и угол.
1) функция, которая запрашивает входную скорость и угол у пользователя
2) отдельная функция для вычисления значений x, y и времени, которые помещаются в массив.
3) отдельная функция для отображения таблицы значений и максимальных значений
Отдельная функция, которая отображает выходные данные на графике
3) отдельная функция , которая вычислит значения X, Y и времени и сохранит их в массиве. Каждое вычисление как для X, так и для Y вычислений должно храниться в расположении массива.
4) отдельная функция, которая отображает выходные данные (аналогично приведенному примеру).
5) функция , которая отображает данные из массива в таблице каждого из вычислений, хранящихся в массиве, что-то вроде:
X расстояние Vx Vert расстояние Vy время
: : : : :
: : : : :
: : : : :
: : : : :
6) последняя функция должна распечатать после таблиц, что будет максимальная высота, время на максимальной высоте, общее время полета и максимальная дальность.
Рецептурный
Горизонтальное расстояние, x=Vxt
Горизонтальная скорость, Vx = Vx0
Вертикальное расстояние, y=Vyo*t-.5gt^2
вертикальная скорость, Vy= Vyo -gt
где Vx-скорость вдоль оси
Vxo - начальная скорость вдоль оси x
Vy-скорость вдоль оси y
Vxo - начальная скорость вдоль оси y
G-это гравитационная
т - это время
Время полета, Т= 2восин(угол)/г
Высота,H= Vo^2sin^2(угол)/2g
диапазон, r=Vo^2Sin(2angle)/g
Что я уже пробовал:
#include <iostream> #include <cmath> #include <iomanip> #define pi 3.14159265 using namespace std; //functions float cannon(); float calcx(); float calcy(); float calch(); float calcr(); float flightt(); float graph(); float time(); float array1[]; float array2[]; float array3[]; void display(); //inputs----- float vi;//intial velocity float angle; float x; float vx; double w,o; double TotalFlight; double z; double stime; float height; float range; int main() { int stop; cannon(); display(); cin >> stop; return 0; } float cannon() { cout << "Enter inital velocity between 10 and 100 m/sec" << endl; cin >> vi; cout << "Enter an angle between 15 to 75 degrees" << endl; cin >> angle; return angle; } float calcx() {//HORIZONTAL DISTANCE x = vi * z; return x; } float calcy() { //HORIZONTAL VELOCSIT vx = (vi*z) - ((.5)*9.8*powf(z, 2)); return vx; } float calch() {//maximum height height = ((powf(vi, 2))*(powf(sin(angle*(2 * pi / 360)), 2))) / (2 * 9.8); return height; } float calcr() {//horizontal range range = (powf(vi, 2))* sin((2 * angle) * (2 * pi / 360)) / 9.8; return range; } float flightt() {//flight time TotalFlight = (2 * vi)*(sin(angle*(2 * pi / 360))) / 9.8; o = TotalFlight; return TotalFlight; } void display() { cout << setw(12) << "x-distance" << setw(14) << "X-Velocity" << setw(24) << "Height" << setw(24) << "(Horizontal distance)" << setw(24) << "Time of flight" << endl; for (w = 0; w < TotalFlight; w=w+ 1) { cout << w << endl; } for (w = 0; w < range; w = w + .01) { cout << w << endl; } for (w = 0; w < height; w = w + .01) { cout << w << endl; } for (z = 0; z <= TotalFlight; z= z + .1) { cout << setw(12) << calcx() << setw(14) << calcy() << setw(24) << calch() << setw(24) << calcr() << setw(24) << flightt() << setw(30) << endl; } }
Rick York
Кстати - математика.h имеет определения для нескольких стандартных математических констант, включая pi. Обязательно определите _USE_MATH_DEFINES, прежде чем включать его, и вы получите все эти константы, определенные для вас. В нем pi-это M_PI.