[C++] Obliczanie zadanego kąta za pomocą funkcji


(Kogutm) #1

Witam.

Został zadany mi projekt z C++ żeby program obliczał sinus danego kąta i wyświetlał tabelkę z sinusami do 90stopni, ALE żeby zamiana kąta na radiany, obliczanie samego zadanego już sinusa już oraz tabelka były wykonane jako osobne funkcje. No i wiadomo funkcja main która ma wywoływać je. Napisałem coś takiego a błędy otrzymałem takie i utknąłem bo nie wiem co dalej czynić.

Kompilator: Default compiler

Wykonywanie g++.exe...

In function `float rad_kat(double)':

20: error: assignment of function `float rad_kat(double)'

20: error: cannot convert double' tofloat ()(double)' in assignment

In function `int tabelka(int, double)':

30: error: expected primary-expression before "int"

30: error: expected `;' before "int"

Wykonanie zakończone

#include 

#include 

#include 

using namespace std;



#define PI 3.14159265


int zamiana(double kat, double wart) //zamiana kąta na radiany

{

kat = 60.0;

wart = kat * PI/180;

cout << "Wartosc kata 60 stopni w radianach: " << wart;

return wart;

}


float rad_kat(double wart) //radiany do obliczenie sin kąta

{


    rad_kat = sin(wart);

    return rad_kat;

}


int tabelka(int i, double wart) //Wyświetlanie w dwóch kolumnach: stopnie(0-90) - radiany 

{

    for(i=0; i <= 90; i++){

		cout<
}


int main()

{

    cout << "Wartosc kata 60 stopni: " << rad_kat << "\n \n" ;

	cout << "Tabela stopnie - radiany: " << tabelka;

return 0;

}

}

[/code]

([alex]) #2
#include 

#include 

#include // tego nie używasz

using namespace std;



#define PI 3.14159265 // po kiego w masz zadeklarowane M_PI - dokładniej niż masz tu


int zamiana(double kat, double wart) //po kego przekazujesz kat i wart jeżeli wewnątrz nadajesz im wartości

{

kat = 60.0; // zadeklaruj lokalnie bądź licz dla takiej wartości jaką przekazano

wart = kat * PI/180; // zadeklaruj lokalnie

cout << "Wartosc kata 60 stopni w radianach: " << wart; // funkcja ma obliczać a nie wypisywać

return wart; // zwracasz po przekształceniu na int'a czyli jak wart wyjdzie np: 0.9999999 funkcja zwróci 0

}


float rad_kat(double wart) // czemu kąt double zaś wynik float - trochę bez sensu

{


    rad_kat = sin(wart); // a gdzie masz zmienną: rad_kat

    return rad_kat; // czemu nie zrobić od razu: return sin(wart); wtedy zauważysz że ta funkcja nie potrzebna.

}


int tabelka(int i, double wart) // po kiego te parametry? 

{

    for(i=0; i <= 90; i++){ // brak zamknięcia tej klamierki

      cout<
}


int main()

{

    cout << "Wartosc kata 60 stopni: " << rad_kat << "\n \n" ; // nie masz zmiennej rad_kat, a funkcja wywołuje się z parametem

   cout << "Tabela stopnie - radiany: " << tabelka; // to samo co wyżej

return 0;

}

} // co to za klamerka?[/code]