Итак, я должен создать программу в 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
Будьте осторожны, функции sin и cos принимают float или double в качестве входного параметра. Итак, вы попробуете что-то вроде этого:
cout << cos(static_cast<double>(a)) << endl;
Кажется, вы хотите, чтобы ваш ввод программы находился в градусах, но это проблема, потому что sin
и cos
используют радианы. Итак, вам нужно преобразовать, как это
cout << "The input is" << a << "It is an even number." << endl;
double radians = (a/180.0)*pi;
cout << cos(radians) << endl;
То же самое и для нечетных чисел.
double
перегрузка), либо ничего не изменить (поскольку существует толькоdouble
определение, и это изменение только делает явное неявное продвижение явным). Мне нужно знать стандартную библиотеку лучше, чем знать, какая именно.