Это моя программа:Программа C++ Выведение Неверный номер
#include "stdafx.h"
#include <iostream>
using namespace std;
double areaofcircle(double r)
{
return 3.14 * r * r;
}
int main()
{
cout << areaofcircle(5);
}
я должен получать выход «78,5», но я получаю «78.512». Что происходит?! Я также пробовал float, но я все равно получаю тот же результат.
Кроме того, просто вопрос стороны, мне действительно нужно добавить «return 0;» к основной функции?
Еще один вопрос, мне нужно написать «using namespace std;» внутри каждой функции, или я могу просто написать ее за пределами всего, например, как я это делал.
Возможный дубликат http://stackoverflow.com/questions/2100490/floating-point-inaccuracy-examples – Aiias
http://stackoverflow.com/questions/554063/how-do-i-print-a-double- value-with-full-precision-using-cout –
Попробуйте изменить '3.14' на' 3.14d' – Patashu