pierwiastkowanie w C++

0

Mam taki kod:


pgran_praw_trojkatny bf;
pgran_praw_trojkatny bg;
pgran_praw_trojkatny bh;
cout << "wybrales pole graniastlosupu prawidlowego trojkatnego\n"
<< "podaj jeden bok podstawy: ";
cin >> bf;
cout << "podaj wysokosc graniastoslupa: ";
cin >> bg;
bh=2*((bf*bf)*sqrt(3)/4)+3*bf*bg;
system("pause");
break; 

mam załączone biblioteki <iostream.h> i <math.h> jednak problem polega na tym że:

na samej górze (tam pisze zmienne) mam coś takiego:


typedef float pgran_praw_trojkatny;

Microsoft Visual studio 2008 pisze mi coś takiego:

.\drugi program.cpp(367) : error C2668: 'sqrt' : ambiguous call to overloaded function
D:\Programy\Microsoft Visual Studio 9.0\VC\include\math.h(581): could be 'long double sqrt(long double)'
D:\Programy\Microsoft Visual Studio 9.0\VC\include\math.h(533): or 'float sqrt(float)'
D:\Programy\Microsoft Visual Studio 9.0\VC\include\math.h(128): or 'double sqrt(double)'
while trying to match the argument list '(int)'

robię mały kalkulator który liczyłby pole całkowite graniastosłupu prawidłowo trójkątnego (taka figura) i tam jest taki dość ciężki wzór i nie umiem się z tym poradzić ;/ prosiłbym o szybką odpowiedź

Programuje w C++ w Microsoft Visual Studio

0

Po pierwsze:

#include <iostream>
#include <cmath>

Po drugie:

sqrt(3.0f)
0

Dzięki wielkie działa ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0