Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как перевести радианы в градусы и перевести это число в синус, косинус, тангенс в с++?

yusupovskiy.rasul Профи (755), закрыт 9 лет назад
Пишу инженерный калькулятор и мне нужно, чтобы введенное число переводилось градусы и находился синус или косинус или тангенс этого числа. Не получается это сделать, попытался сделать что-то, но ответ выходит не правильный, радианы переводятся в градусы правильно, а вот уже вычисляю синус градусов и ответ не правильный выходит по сравнению с ответом стандартного калькулятора. Кто нибудь знает в как это сделать?
//----------------------------------
Вот пример кода который я писал:

fSqrt = Edit1->Text.ToDouble();
if(RadioGroup1 -> ItemIndex == 0) //перевод числа в радианы, градусы
fSqrt = fSqrt * 180 / pi;
else if(RadioGroup1 -> ItemIndex == 1)
fSqrt;
fSqrt = sin(fSqrt); //находит синус числа
Edit1->Text = fSqrt;
//----------------------------------
Перевод радианов в градусы правильный, ввожу 5 радианов получается 286,48 градусов
А вот синус градусов не верный должно выйти "0.08715574274", а в место этого выходит это "-0,55963921546936"
Лучший ответ
Jurijus Zaksas Искусственный Интеллект (424539) 9 лет назад
Вообще-то компьютер считает все в радианах.
yusupovskiy.rasulПрофи (755) 9 лет назад
Ну вопрос в том, что нужно сделать, чтобы у меня ответ совпадал с стандартным калькулятором
"должно выйти 0.087" sin(5)= -0.9589, а не 0.087. У Вас если ввели в радианах, то переводится в градусы, а если в градусах, то не меняет. А должно быть наоборот. Если ввели в радианах то не меняет, а если в градусах, то переводит в радианы. Развернытый угол в градусах равен 180 градусов, а в радианах он равен пи радиан. Вам надо if(RadioGroup1 -> ItemIndex == 1)//если ввели в градусах, то переводим число в радианы fSqrt *= (pi/180); fSqrt = sin(fSqrt) а в если в радианах, то не меняем PS "Sqrt" Очень странное название для вводимого аргумента, так как sqrt подразумевает "square root"= квадратный корень.
Остальные ответы
Алекс Куха Высший разум (446419) 9 лет назад
Чёт с логикой перемудрил. Похоже, можно и нужно упростить
ЕСЛИ перевод нужен
ТО перевести
ВСЁ-ЕСЛИ
дальше непонятно, где выбор функции?
ЕСЛИ синус
ТО вывод синуса
ВСЁ-ЕСЛИ
ну и дальше
Похожие вопросы