funkcja w cpp

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.

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;

}


Wyszukiwarka

Podobne podstrony:
Cpp 10 Funkcje, Programowanie, instrukcje - teoria
Funkcje dla plikow tekst cpp
BANK CENTRALNY I JEGO FUNKCJE
Zaburzenia funkcji zwieraczy
Genetyka regulacja funkcji genow
BYT 2005 Pomiar funkcjonalnosci oprogramowania
Diagnoza Funkcjonalna
Insulinoterapia funkcjonalna
Postać kanoniczna funkcji kwadratowej
cpp 2
Wpływ choroby na funkcjonowanie rodziny
LAB PROCEDURY I FUNKCJE
STRUKTURA I FUNKCJONOWANIE GN
układ pokarmowy budowa i funkcja
15 Fizjologiczne funkcje nerek

więcej podobnych podstron