Форум программистов, компьютерный форум CyberForum.ru

Задача вычисляющая расстояние которое пролетает камень. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
lFreeManl
10 / 10 / 1
Регистрация: 27.11.2011
Сообщений: 100
23.01.2012, 20:04     Задача вычисляющая расстояние которое пролетает камень. #1
Помогите разработать программу, вычисляющую расстояние, которое пролетит тело вдоль горизонтальной оси, брошенное в вакууме под углом α к горизонту с некоторой начальной скоростью Vo.Угол и начальная скорость вводятся пользователем из стандартного потока ввода. Угол задается в градусах, начальная скорость – в метрах в секунду. Ускорение свободного падения равно 9,8 м/с2.
Программа должна вычислять расстояние, непрерывно запрашивая величину угла и начальную скорость до тех пор, пока пользователь не введет слово exit.
Буду очень благодарен за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 20:04     Задача вычисляющая расстояние которое пролетает камень.
Посмотрите здесь:

Пролетает cin >> C++
C++ В чем подводный камень?
C++ [Задача]Найти в n-мерном пространстве минимальное расстояние от начала координат до отрезка , заданного координатами своих концов.
C++ Задача на рекурсию. Найти кратчайшее расстояние между городами i и j даже если между ними нет прямой дороги
Задача со строками (вывести слово, которое содержит ровно три буквы "и") C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
24.01.2012, 16:51     Задача вычисляющая расстояние которое пролетает камень. #21

Не по теме:

Цитата Сообщение от Mr.X Посмотреть сообщение
выражение для L неверно. 2 * tg(a) нужно записать в числителе, а (1 + tg^2(a)) - в знаменателе (и v0 там должно быть в квадрате). Именно поэтому результаты у вас не совпадают с вышеприведенным
- может с двойкой накосил, делать выкладки в редакторе тяжкий неблагодарный труд...



Добавлено через 11 минут

Не по теме:

Mr.X, а где у тебя в коде выход по exit,суть была в этом, забыл наверное???

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
 Аватар для Mr.X
2796 / 1572 / 246
Регистрация: 03.05.2010
Сообщений: 3,649
24.01.2012, 16:59     Задача вычисляющая расстояние которое пролетает камень. #22
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Не по теме:
Mr.X, а где у тебя в коде выход по exit,суть была в этом, забыл наверное???
Программа завершается как при наборе слова exit, так и любого другого, не являющегося действительным числом, так что условие выполнено, но пользоваться удобнее: для завершения достаточно просто любую букву ввести.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2012, 18:11     Задача вычисляющая расстояние которое пролетает камень.
Еще ссылки по теме:

Задача по физике (Определить силу притяжения между телами массы m1 и m2, расстояние между которыми r) C++
C++ пролетает gets в теле switch
Задача "Гигабашня": минимальное расстояние до этажа со счастливым номером C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
24.01.2012, 18:11     Задача вычисляющая расстояние которое пролетает камень. #23
http://www.cyberforum.ru/cgi-bin/latex.cgi?x(t) = {v}_{0}*cos(\alpha)*t
http://www.cyberforum.ru/cgi-bin/latex.cgi?y(t) = {v}_{0}*sin(\alpha)*t - \frac{g*{t}^{2}}{2}
x(T) = L
http://www.cyberforum.ru/cgi-bin/latex.cgi?0 = y(t) = {v}_{0}*sin(\alpha)*\frac{L}{{v}_{0}*cos(\alpha)} - \frac{g*{L}^{2}}{2*{{v}_{0}*cos(\alpha)}^{2}}
Преобразовываем
http://www.cyberforum.ru/cgi-bin/latex.cgi?0 = y(T) = 2*L*tg(\alpha) - \frac{g*{L}^{2}*{(1 + tg(\alpha))}^{2}}{{{v}_{0}}^{2}}
Откуда L составит
http://www.cyberforum.ru/cgi-bin/latex.cgi?L=\frac{ 2*{{v}_{0}}^{2}*tg(\alpha)}{g*{(1 + tg(\alpha))}^{2}} = \frac{{{v}_{0}}^{2}*sin(2*\alpha)}{g}

Добавлено через 1 минуту
Цитата Сообщение от Mr.X Посмотреть сообщение
Программа завершается как при наборе слова exit, так и любого другого, не являющегося действительным числом, так что условие выполнено, но пользоваться удобнее: для завершения достаточно просто любую букву ввести.
- тогда изучи внимательно задание
Цитата Сообщение от lFreeManl Посмотреть сообщение
пока пользователь не введет слово exit
, а также посмотри коды эдак с поста 13-го...

Добавлено через 27 минут
Ниже код который и "понимает" некорректный ввод и выходит только по exit
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <sstream>
#include <string>
#include <cmath>
using namespace std;
 
bool getParam(double &param, string input)
{
    bool bCorrect = true;
    stringstream ss;
    ss.str(input);
    if(!(ss>>param))
        bCorrect = false;
    ss.clear();
    return bCorrect;
}
 
int main()
{
    string input;
    bool bRepeate = true;
    double v0, angle, L;
    double g = 9.81;
    double deg = asin(1.0)/90.0;//êîºôôèöèåГ*ГІ ïåðåâîäГ* ГЈГ°Г*äóñîâ Гў Г°Г*äèГ*Г*Г»
    while(bRepeate)
    {
        cout<<"Enter v0 : ";
        getline(cin, input);
        cin.ignore();
        if(strcmp(input.c_str(),"exit") == 0)
            bRepeate = false;
        else
        if(!getParam(v0, input))
            cout<<"Input error\n";
        else
        {
            cout<<"Enter angle(int degrees) : ";
            getline(cin, input);
            cin.ignore();
            if(strcmp(input.c_str(),"exit") == 0)
                bRepeate = false;
            else
            if(!getParam(angle, input))
                cout<<"Input error\n";
            else
            {
                L = v0*v0*sin(2*angle*deg)/g;
                cout<<"Length L : "<<L<<endl;
            }
        }
    }
    return 0;
}
Yandex
Объявления
24.01.2012, 18:11     Задача вычисляющая расстояние которое пролетает камень.
Ответ Создать тему
Опции темы

Текущее время: 10:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru