C ++, используя операторы if-else для вычисления sin и cos

0

Итак, я должен создать программу в C++, используя инструкции if-else для вычисления греха введенного числа, если он является нечетным числом, или вычислить cos для числа, если это четное число. Моя программа продолжает терпеть неудачу, и я не знаю, почему. Может ли кто-нибудь дать мне подсказку о том, что я сделал неправильно?

ЭТО, ЧТО Я ХОЧУ ТАК ДАЛЬШЕ (Моя программа продолжает терпеть неудачу, поэтому я не знаю, что делать дальше, пока я не исправлю эту проблему)

#include<iostream>
#include<cmath>
using namespace std;

void main()
{
    const double pi = 3.1415926535897932384626433832795;
    int a;

    cout << "Please type in a 2 digit number : " << endl;
    cin >> a;

    if(a % 2 == 0)
    {
        cout << "The input is" << a << "It is an even number." << endl;
        cout << cos(a) << endl;
    }
    else
    {
        cout << "The input is" << a << "It is an odd number." << endl;
        cout << sin(a) << endl;
    }
} // main
Теги:
if-statement
trigonometry

2 ответа

2

Будьте осторожны, функции sin и cos принимают float или double в качестве входного параметра. Итак, вы попробуете что-то вроде этого:

cout << cos(static_cast<double>(a)) << endl;

Как работает функция cos

  • 0
    Это преобразование происходит автоматически.
  • 0
    Это должно либо лишь немного повысить точность результата (если есть double перегрузка), либо ничего не изменить (поскольку существует только double определение, и это изменение только делает явное неявное продвижение явным). Мне нужно знать стандартную библиотеку лучше, чем знать, какая именно.
Показать ещё 1 комментарий
1

Кажется, вы хотите, чтобы ваш ввод программы находился в градусах, но это проблема, потому что sin и cos используют радианы. Итак, вам нужно преобразовать, как это

    cout << "The input is" << a << "It is an even number." << endl;
    double radians = (a/180.0)*pi;
    cout << cos(radians) << endl;

То же самое и для нечетных чисел.

  • 0
    Спасибо большое!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню