/*PRZYKŁAD 9. Funkcje ............................................................................. plik "prog1.c" ............... */ #include #define M_PI 3.141592654 /* Wartość liczby PI */ float wielom(float x); /* deklaracje zapowiadające funkcji */ int fun2zm(int x, int y, int *wyn1, int *wyn2); float suma(float x, float y); float ftryg(float x); float wk = 62.4; /* definicja zmiennej globalnej "wk" */ int main() { int xx = 12, yy = 56; int wyn__1, wyn__2; float xf; char buf_we[130]; /* Wczytać z klawiatury nowe wartości zmiennych xx, yy, xf, wk */ if ( fun2zm(xx, yy, &wyn__1, &wyn__2) ) { printf("\nZłe dane wejściowe"); return 0; } printf("\nWynik obliczeń funkcji dwóch zmiennych: %d, %d", wyn__1, wyn__2); xf = wielom( ftryg(wk) ); printf("\nWartość wielomianu = %f", xf); xf = suma(2.45, 4.67); /* błąd - funkcja zdefiniowana w innym pliku */ printf("\nWartość sumy = %f", xf); /* ze specyfikatorem "static" */ getch(buf_we); return 0; } /* Definicje funkcji ............................................................................... */ float wielom(float x) { float y; y = 2.34 * x * x + 3.56 * x + 6.12; return y; } int fun2zm(int x, int y, int *wyn1, int *wyn2) { if ( (x > 100) || (y > 100) ) return 1; *wyn1 = 2 * x - 3 * y; *wyn2 = 3 * x + 2 * y; return 0; } float ftryg(float x) /* argument "x"-kąt w stopniach */ { double r_kat = M_PI * (double)x / 180.0; /* zmienna "r_kat"-kąt w radianach */ return ( 0.5 + sin(r_kat) + 0.75 * cos(r_kat) * cos(r_kat) ); } float suma(float x, float y) { return x+y; }