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

Угол на плоскости - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
cobe_thichtudie
 Аватар для cobe_thichtudie
2 / 5 / 0
Регистрация: 23.11.2010
Сообщений: 35
28.02.2011, 03:35     Угол на плоскости #1
у меня вот такая задача по СИ:
Угол на плоскости. Обязательные члены класса: величина угла в градусах; функции-члены для ввода/вывода величина угла, перевода величины угла в радианы, нахождения синуса угла.
а вот мой код:
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
class CPtoD
{
        double x,y,rad,ugol,sin;    
public:
        CPtoD(void)
        {
                x=0;
                y=0;
                rad=0;
        };
        void vvod(void)
        {
                cout<<"Введите величину угла в градусах\n";
                cin>>ugol;
        };
        void perevod(void)
        {
                rad=ugol*3.1414926535/180;
        };
 
        void show(void)
        {
                cout<<"Величина данного угла в радианах равна "<<rad;
                
        };
 
        
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{sin=arctg(ugol);
}printf_sin()
{
 
        return 0;
}
где- то в синусах есть ошибкиб но не знаю как исправить. Помогите пожалуйста, спасибо заранее!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
28.02.2011, 10:29     Угол на плоскости #2
Цитата Сообщение от cobe_thichtudie Посмотреть сообщение
где- то в синусах есть ошибкиб но не знаю как исправить. Помогите пожалуйста, спасибо заранее!!!
C++
1
sin=arctg(ugol);
Это как понимать?
cobe_thichtudie
 Аватар для cobe_thichtudie
2 / 5 / 0
Регистрация: 23.11.2010
Сообщений: 35
28.02.2011, 16:02  [ТС]     Угол на плоскости #3
Цитата Сообщение от bigredcat Посмотреть сообщение
C++
1
sin=arctg(ugol);
Это как понимать?
вот в том то дело!
я не знаю как найти синус угла !
подскажите люди!!!
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
28.02.2011, 16:05     Угол на плоскости #4
cobe_thichtudie, sin - фунция нахождения синуса
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
28.02.2011, 16:28     Угол на плоскости #5
Цитата Сообщение от cobe_thichtudie Посмотреть сообщение
вот в том то дело!
я не знаю как найти синус угла !
подскажите люди!!!
Ну, синус это отношение противолежащего катета к гипотенузе (в прямоугольном треугольнике, если что). Постройте прямоугольный треугольник один из углов которого будет равен заданному. Измерьте линейкой гипотенузу и соответсвующий катет. Выполните вычисления
cobe_thichtudie
 Аватар для cobe_thichtudie
2 / 5 / 0
Регистрация: 23.11.2010
Сообщений: 35
02.03.2011, 16:47  [ТС]     Угол на плоскости #6
Цитата Сообщение от bigredcat Посмотреть сообщение
Ну, синус это отношение противолежащего катета к гипотенузе (в прямоугольном треугольнике, если что). Постройте прямоугольный треугольник один из углов которого будет равен заданному. Измерьте линейкой гипотенузу и соответсвующий катет. Выполните вычисления
{
int x,y,z,sin; int zero ();
for (x=0;x++)
for (y=0;y++)
for (z=0;z++)
if (x=0,y=0,) else sin =x/y
}
int sin;
так ли?
но я не знаю как соединит всю прогу!можно подскажите!
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
02.03.2011, 18:00     Угол на плоскости #7
Ну чего уж вы, ей богу. Вам же уже сказал Nameless One.

C++
1
double sinX =  sin(x);
Включите заголовок <math.h>
cobe_thichtudie
 Аватар для cobe_thichtudie
2 / 5 / 0
Регистрация: 23.11.2010
Сообщений: 35
03.03.2011, 14:00  [ТС]     Угол на плоскости #8
ну вот все программа !
ну че -то я пускаю не работает !
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
#include <stdafx.h>
#include <iostream>
#include <math.h>
using namespace std;
 
class CPtoD
{
        double x,y,rad,ugol,sin;    
double sinX =  sin(x);
public:
        CPtoD(void)
        {
                x=0;
                y=0;
                rad=0;
        };
        void vvod(void)
        {
                cout<<"Введите величину угла в градусах\n";
                cin>>ugol;
        };
        void perevod(void)
        {
                rad=ugol*3.1414926535/180;
        };
 
        void show(void)
        {
                cout<<"Величина данного угла в радианах равна "<<rad;
                
        };
 
        
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{sin=arctg(ugol);
}printf_sin()
{
int x,y,z,sin; int zero ();
for (x=0;x++)
for (y=0;y++)
for (z=0;z++)
if (x=0,y=0,) else sin =x/y
}
int sin;
{
 
        return 0;
}
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
03.03.2011, 16:37     Угол на плоскости #9
cobe_thichtudie выделяейте код, когда публикуете сообщение, читать не удобно. Да, и оформляйте понятней (отступы используйте).
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
class CPtoD
{
    double x,y,rad,ugol,sin; // Имя переменной sin, совпадает с именем функции sin. Так можно,
                           // но лучше задать другое имя. Что, кстати, вы и делаете в следующей
                           // строчке, а отсюда sin убрать нужно.
    double sinX = sin(x); // Здесь нельзя так делать для нестатических объектов. И даже если бы
                           // было можно, то это было бы логической ошибкой.
public:
    CPtoD(void)
    {
        x=0;
        y=0;
        rad=0;
    };
             // cout и cin находятся в пространстве имен std, поэтому везде меняем
             // cout и cin на std::cout и std::cin
    void vvod(void)
    {
        cout<<"Введите величину угла в градусах\n";
        cin>>ugol;
    };
    void perevod(void)
    {
        rad=ugol*3.1414926535/180;
    };
 
    void show(void)
    {
        cout<<"Величина данного угла в радианах равна "<<rad;
    };
};
Добавлено через 20 минут
* Если не обращать внимания на синтаксическую ошибку, подумайте, что нам даст инициализация члена класса значением синуса угла
C++
1
double sinX = sin(x);
Я это к тому, что вы можете ввести новое значение угла x, а что в вашем коде с sinX будет?
* Кроме того, по заданию вы вводите угол в градусах. Читаем описание функции sin, узнаем в каких единицах измерения нужен угол этой функции.
* Далее, ваш класс содержит аж ШЕСТЬ данных-членов. Читаем ваше задание: ...Обязательные члены класса: величина угла в градусах; функции-члены для ввода/вывода величина угла, перевода величины угла в радианы, нахождения синуса угла. Значит, даже если хранить угол в радианах и синус угла, то, с учетом угла в градусах, получается всего ТРИ данных-члена.
* Можно еще задуматься, стоит ли нам хранить угол в радианах и синус угла. Хотя это уже на ваше усмотрение.
Leningradeс
 Аватар для Leningradeс
10 / 10 / 1
Регистрация: 03.03.2011
Сообщений: 331
03.03.2011, 17:41     Угол на плоскости #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <math.h>
#include <stdio.h>
#define M_PI 3.14159265358979323846
 
void main ()
{
    float grad, z; //переменная для угла "grad" и результата
    printf ("Введите значение угла в градусах: ");
    scanf ("%f", &grad); //присваивание введенного значения переменной "grad"
    float rad = (grad * M_PI) / 180.; //получение радиан "rad"
    z = sin (rad); //вычисление "синус (радиан)" по моему только так sin (угла) получается, через радианы
    printf ("sin (угла) = %f", sin (rad)); //вывод на экран
}
Добавлено через 44 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include <math.h> // Для floor(grad).
using namespace std;
 
int main()
{
        setlocale(LC_ALL, "Russian");
        double rad;
        cout<<"Введите значение угла в радианах: "<<endl;
        cin>>rad;
        const double pi = 3.1415926535897932384626433832795;
        double grad = 180/pi*rad;
        double dr = grad - (int)grad;
        dr *= 3600;
        int min = dr / 60;
        int sec = dr - min * 60;
        cout<<"Значение угла в градусах = "<<floor(grad)<<" Градусов "<<min<<" Минут "<<sec<<" Секунд. "<<endl;
        system ("PAUSE");
 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2011, 12:09     Угол на плоскости
Еще ссылки по теме:

C++ Угол на графике
C++ Найти угол между векторами
Угол отрезка к оси OY C++

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

Или воспользуйтесь поиском по форуму:
cobe_thichtudie
 Аватар для cobe_thichtudie
2 / 5 / 0
Регистрация: 23.11.2010
Сообщений: 35
11.04.2011, 12:09  [ТС]     Угол на плоскости #11
а почему же у мення выводят ошибки !!!
E2209 Unable to open include file 'stdafx.h'
E2238 Multiple declaration for 'char_traits<wchar_t>::int_type'

Yandex
Объявления
11.04.2011, 12:09     Угол на плоскости
Ответ Создать тему
Опции темы

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