C++ #8 – Funkcje

Lis 01
2010

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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *