Funkcja – to wydzielona część kodu źródłowego, która wykonuje się po wywołaniu identyfikatora funkcji, czyli jej nazwy wraz z nawiasami okrągłymi i ewentualnymi parametrami. W skład identyfikatora (podobnie jak w zmiennych) dopuszczalne są znaki alfanumeryczne z zakresu alfabetu łacińskiego.
Funkcje
Schematyczna definicja funkcji ma postać
typ_funkcji identyfikator(opcjonalne parametry) {
instrukcje do wykonania
}
Gdzie typ_funkcji – wstawiamy typ podobnie jak w zmiennych (void, bądź int) w zależności od przeznaczenia funkcji.
identyfikator(opcjonalne parametry) – unikalna nazwa funkcji. Nawias jest niezbędny, nawet, gdy nie deklarujemy parametrów w postaci zmiennych.
Spróbujmy zadeklarować funkcje dodającą dwie liczby.
#include <iostream>
using namespace std;
//deklaracja
void dodawanie(int a, int b) {
cout<<a+b<<endl;
}
int main()
{
//wywołanie funkcji - wykorzystanie jej
dodawanie(50, 36);
return 0;
}
komeniusz@cyber-jadro:~/Pulpit$ g++ pierwszy.cpp -o program
komeniusz@cyber-jadro:~/Pulpit$ ./program
86
komeniusz@cyber-jadro:~/Pulpit$
Jak widać działa znakomicie. Zmodyfikujmy jednak kod do tego stopnia, aby program pobierał liczby od użytkownika.
#include <iostream>
using namespace std;
int dodawanie() {
/*deklaracja zmiennych lokalnych
dla funkcji dodawanie()*/
int a;
int b;
cout<<"Podaj a: ";
cin>>a;
cout<<"Podaj b: ";
cin>>b;
cout<<"Wynik to: "<<a+b<<endl;
}
int main()
{
dodawanie();
return 0;
}
komeniusz@cyber-jadro:~/Pulpit$ g++ pierwszy.cpp -o program
komeniusz@cyber-jadro:~/Pulpit$ ./program
Podaj a: 6
Podaj b: 7
Wynik to: 13
komeniusz@cyber-jadro:~/Pulpit$
Wnikliwy Czytelnik może już napisać prosty kalkulator z menu wyboru opierającym się na instrukcji warunkowej 🙂
Poza funkcjami, które możemy sami zdefiniować w C++ jest masa funkcji standardowych. Niektóre z nich warto poznać już teraz.
zmienna.size(), bądź zmienna.length() – zwraca długość zmiennej typu string.
sleep() – zatrzymuje działanie programu na podaną w nawiasie liczbę sekund.
getchar() – zatrzymuje działanie programu do momentu wciśnięcia spacji.
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
int losowa;
srand(time(NULL));
losowa = (rand() % 20)+1;
cout<<losowa<<endl;
return 0;
}
A oto przykład generowania losowej liczby z przedziału od 1 do 20 (włącznie). Aby posługiwać się funkcją srand() oraz rand() wymagane jest użycie dodatkowej bilbioteki o nazwie cstdlib.