funkcja_w_cpp.docx

(38 KB) Pobierz

Funkcja w programie – to  blok zawierający instrukcje, opatrzony nazwą. Gdy wywołasz tę nazwę, zostaną wykonane wszystkie instrukcje w niej umieszczone.

W C++ trzeba podać typ wyniku, zwracanego przez funkcję, np.: int, float, string. Jeśli funkcja nie ma zwracać żadnego wyniku, jej typ nazywa się void.

Funkcja może pobierać parametry. Ich typy i nazwy podaje się w nagłówku funkcji, w nawiasach okrągłych. Przy wywołaniu funkcji trzeba wówczas podać aktualne wartości  tych parametrów, dokładnie tyle parametrów ile ma zdefiniowanych.

funkcja.png

W każdym programie konsolowym C++jest funkcja main(), od niej system zaczyna wykonanie programu. Funkcja main() zwraca do systemu wartość typu int, która informuje system o tym jak zakończyło się wykonanie tej funkcji: jeśli 0 (lub EXIT_SUCCESS) to znaczy że pomyślnie.

Oprócz funkcji main() program może zawierać wiele innych funkcji. Trzeba je zdefiniować przed blokiem funkcji main(), aby mogła ona z nich korzystać (wywoływać je). Albo przed main() wrzucić przynajmniej prototyp funkcji.

W ciele funkcji można deklarować zmienne. Ich zasięg jest lokalny, ograniczony tylko do bloku tej funkcji: gdy zakończy się wykonanie funkcji, te zmienne sa usuwane z pamięci.

Jeśli zmienna ma być dostepna w kilku funkcjach, trzeba ją zadeklarować jako zmienną globalną,  na zewnątrz tych funkcji, przed definicjami tych funkcji.  Funkcja może odczytać i zapisać wartość zmiennej globalnej. Wartość zmiennej globalnej nie zniknie po zakończeniu wykonania funkcji.

Program zrobiony na zajęciach:

#include <iostream>

#include <windows.h> 

#include <cstdlib>

using namespace std;

 

char c;              // zmienna globalna, dostepna we wszystkich funkcjach

 

// funkcja ustawia kursor, czyli wyznacza miejsce gdzie bedzie cos pisane

void kursor(int x, int y)

{

    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);     // wymaga #include <windows.h>

    COORD gdzie = {x,y};

    SetConsoleCursorPosition(h,gdzie);

}

 

// funkcja rysuje linie zlozone ze znakow c. liczba linii: wys, liczba znakow w linii: szer

void  prosto (int odx, int ody, int szer, int wys)

{

   for (int y=0; y<wys; y++) {                                            // dla kazdej linii

      kursor(odx,ody+y);                                                         // ustaw kursor

      for (int x=0; x<szer; x++) cout<<c;               // pisz znaki

      cout<<endl;

   }        

}

 

 

int main()

{

    int a,b,x,y;

    system("color 2E");                            // kolor tla (pierwsza cyfra 0-7) i kolor czcionki (druga cyfra 0-F)

    do {

       kursor(0,0);                            // ustaw kursor w lewym gornym wierzcholku okienka

       cout<<"                                       "; // wyczysc poprzedne dane

       kursor(0,0);                            // ponownie ustaw kursor w lewym gornym wierzcholku okienka

       cout<<"podaj x,y oraz a,b oraz znak c ";

       cin>>x>>y;                                          // wspolrzedne poczatku Twojego prostokata (lewy gorny wierzcholek)

       cin>>a>>b;                                          // podaj wymiary swojego prostokata (szrokosc i wysokosc)

       cin>>c;                                          // podaj znak ktorym mam wypelnic prostokat

       prosto(x,y,a,b);                            // rysuj prostokat

    } while (a!=0 && b!=0);              // powtarzaj aż podasz rozmiary prostokata 0 0

   

    system("PAUSE");

    return EXIT_SUCCESS;

}

 

 

funkcja_wynik.png

Zgłoś jeśli naruszono regulamin