Консультация № 194156
11.12.2018, 21:57
0.00 руб.
0 7 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Продолжить программу, определяющую синус, косинус, тангенс, котангенс заданного угла с помощью классов. Выведите данные в табличном виде с помощью соответствующего метода класса.

Обсуждение

давно
Советник
400484
472
12.12.2018, 10:23
общий
12.12.2018, 10:36
Добрый день,
не совсем понятно задание. Что должно быть в таблице и задание угла.
Код:

#include <iostream>
#include <conio.h> // библиотека, необходимая для работы оператора getch();
#include <cmath>

#define PI 3.14159265 // число ПИ

class Geometry
{
private:
double _angle; // угол в градусах

public:
// конструктор
Geometry(double angle) { _angle = angle * PI / 180; } // переведённого в радианы
// деструктор
~Geometry(){}
// получение угла
double GetAngle() { return _angle; }
// синус угла
double GetAngleSine();
// косинус угла
double GetAngleCosine();
// тангенс угла
double GetAngleTangent();
// котангенс угла
double GetAngleCotangent();
// вывод табоицы
void Text(double angle);
};

double Geometry::GetAngleSine()
{
return sin(_angle);
}

double Geometry::GetAngleCosine()
{
return cos(_angle);
}

double Geometry::GetAngleTangent()
{
return tan(_angle);
}

double Geometry::GetAngleCotangent()
{
return 1 / tan(_angle);
}

void Geometry::Text(double angle)
{
std::cout << " angle \t sine \t cosine \t tangent \t cotangent" << std::endl;
std::cout << angle << (char)DEGREES << " \t " << GetAngleSine() << "\t " << GetAngleCosine() << "\t " << GetAngleTangent() << "\t " << GetAngleCotangent() << std::endl;
}

int main()
{
double angle;
std::cout << "Input angle in degrees: ";
std::cin >> angle;

Geometry g = Geometry(angle);
g.Text(angle);

getch();
return 0;
}

результат:
Код:

Input angle in degrees: 30
angle sine cosine tangent cotangent
30° 0.5 0.866025 0.57735 1.73205
давно
Академик
20764
1861
12.12.2018, 19:37
общий
и что не так?
давно
Советник
400484
472
13.12.2018, 09:30
общий
Сергей, если вопрос ко мне, то:
1. Угол может задаваться как в радианах, так и в градусах.
2. Таблица в том виде который я привел будет плавать на выводе. Нужны ограничения по длине столбца.
3. Так же речь идет про продолжение программы. Какой?
4. Расчет значений нужно делать самому или можно использовать встроенные методы?

Исходя из всего этого сделал что-то типа прототипа.
давно
Академик
20764
1861
13.12.2018, 10:04
общий
Адресаты:
извините. думал, что код -- это часть вопроса, тем более, что вопрос был "продолжить". Но вообще-то на подобные вопросы лучше не отвечать вообще, особенно если автор не идёт на контакт
давно
Советник
400484
472
13.12.2018, 10:07
общий
ок. учту на будущие.
давно
Старший Модератор
17042
808
16.12.2018, 19:12
общий
Адресаты:
Тем не менее, если не сложно, перенесите код из мини-форума в форму ответа.
Впрочем, если будет желание экспертов могу и закрыть вопрос. Пока же продляю...
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Советник
400484
472
17.12.2018, 09:32
общий
это ответ
Здравствуйте, Iv!
Вот возможный вариант решения
Код:

#include <iostream>
#include <conio.h> // библиотека, необходимая для работы оператора getch();
#include <cmath> // библиотека математики

#define PI 3.14159265 // число ПИ

class Geometry
{
private:
double _angle; // угол в градусах

public:
// конструктор
Geometry(double angle) { _angle = angle * PI / 180; } // переведённого в радианы
// деструктор
~Geometry(){}
// получение угла
double GetAngle() { return _angle; }
// синус угла
double GetAngleSine();
// косинус угла
double GetAngleCosine();
// тангенс угла
double GetAngleTangent();
// котангенс угла
double GetAngleCotangent();
// вывод табоицы
void Text(double angle);
};

double Geometry::GetAngleSine()
{
return sin(_angle);
}

double Geometry::GetAngleCosine()
{
return cos(_angle);
}

double Geometry::GetAngleTangent()
{
return tan(_angle);
}

double Geometry::GetAngleCotangent()
{
return 1 / tan(_angle);
}

void Geometry::Text(double angle)
{
std::cout << " angle \t sine \t cosine \t tangent \t cotangent" << std::endl;
std::cout << angle << (char)DEGREES << " \t " << GetAngleSine() << "\t " << GetAngleCosine() << "\t " << GetAngleTangent() << "\t " << GetAngleCotangent() << std::endl;
}

int main()
{
double angle;
std::cout << "Input angle in degrees: ";
std::cin >> angle;

Geometry g = Geometry(angle);
g.Text(angle);

getch();
return 0;
}

результат:
Код:

Input angle in degrees: 30
angle sine cosine tangent cotangent
30° 0.5 0.866025 0.57735 1.73205
Форма ответа