pierwiastkowanie w C++

liske1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 523
0

Mam taki kod:

Kopiuj
		
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:

Kopiuj
 
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

Endrju
  • Rejestracja: dni
  • Ostatnio: dni
0

Po pierwsze:

Kopiuj
#include <iostream>
#include <cmath>

Po drugie:

Kopiuj
sqrt(3.0f)
liske1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 523
0

Dzięki wielkie działa ;-)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.