Zamów podręcznik wydawnicta MiGra (sklep wydawnictwa)
Pojęcie funkcji w języku C++. Klasa 2
Funkcja w języku C++
Funkcja, niezależnie od rodzaju języka programowania jest wyodrębnioną częścią programu, posiada niepowtarzalną nazwę w obrębie jednej klasy, posiada ustalony sposób wymiany danych z innymi częściami programu. Funkcje mogą zwracać wartość lub nie.
Funkcje mogą być bezparametrowe lub parametrowe. Funkcje parametrowe wymagają podania listy parametrów w nagłówku funkcji.
Aby zastosować w kodzie programu funkcję, należy ją zdefiniować i wywołać w programie.
Ogólna postać definicji funkcji zwracającej wartość
opis_typu nazwa_funkcji(lista_parametrów)
{
//ciało funkcji
lista_instrukcji;
return wynik;
}
Przykład definicji funkcji obliczającej ciężar ciała
Z fizyki wiemy, że ciężar ciała liczony jest wzorem F=m⋅g. Takie działanie musi zawierać ciało tworzonej funkcji. Wynikiem jest wartość typu liczba rzeczywista. Parametrami jest masa i przyspieszenie grawitacyjne (niekoniecznie ziemskie, może być księżycowe)
float ciezar(float m, flota g){
return m*g;
}
Ćwiczenie 1 str. 115 (podręcznik)
Definiujemy funkcję zwracającą wartość z jednym parametrem i wywołujemy ją w programie głównym
#include <iostream>
#include <conio.h>
using namespace std;
float suma(int n)
{
int a,s=0;
for(int i=0;i<n;i++){
cout<<"Podaj liczbe sztuk w "<<i+1<<" dostawie: ";
cin>>a;
s+=a;
}
return s;
}
int main()
{
int l_dostaw_tv,suma_tv;
cout << "Ile bylo dostaw tv: ";
cin>>l_dostaw_tv;
suma_tv=suma(l_dostaw_tv);
cout<<"Liczba tv z "<<l_dostaw_tv<<" dostaw wynosi "<<suma_tv;
getch();
return 0;
}
Ćwiczenie 2 str. 115 (podręcznik)
Do poprzedniego zadania dodajemy sprawdzenie poprawności danych. Czyli ilość dostaw oraz wielkość dostaw powinna być większa od zera
#include <iostream>
#include <conio.h>
using namespace std;
float suma(int n)
{
int a,s=0;
for(int i=0;i<n;i++){
cout<<"Podaj liczbe sztuk w "<<i+1<<" dostawie: ";
cin>>a;
if(a<1){
cout<<"Podana wartosc powinna byc wieksza od 0"<<endl;
continue;
}
s+=a;
}
return s;
}
int main()
{
int l_dostaw_tv,suma_tv,l_dostawy_glosnikow,suma_glosnikow;
cout << "Ile bylo dostaw tv: ";
cin>>l_dostaw_tv;
if(l_dostaw_tv>0){
suma_tv=suma(l_dostaw_tv);
cout<<"Liczba tv z "<<l_dostaw_tv<<" dostaw wynosi "<<suma_tv<<endl;
}else{
cout<<"Ilosc dostaw TV powinna byc wiekasza od 0"<<endl;
}
//dla glosnikow
cout << "Ile bylo dostaw glosnikow: ";
cin>>l_dostawy_glosnikow;
if(l_dostawy_glosnikow>0){
suma_glosnikow=suma(l_dostawy_glosnikow);
cout<<"Liczba tv z "<<l_dostawy_glosnikow<<" dostaw wynosi "<<suma_glosnikow<<endl;
}else{
cout<<"Ilosc dostaw glosnikow powinna byc wiekasza od 0"<<endl;
}
getch();
return 0;
}