#include <stdio.h>
#include <stdlib.h>
// dodawanie
// funkcja dodaje dwa skladniki
// return zwraca wynik sumy
int dodaj(int skladnik1, int skladnik2){
	int suma;
	suma = skladnik1 + skladnik2;
	return suma;
}

// odejmowanie
int odejmij(int odjemna, int odjemnik){
	return odjemna - odjemnik;
}

//wypisywanie na ekran
void wypisz(int wynik){
	printf("Wynik to:%d\n", wynik);
}

//pobieranie danych
int pobierz(){
	int liczba;
	printf("Podaj liczbe:\n");
	scanf_s("%d", &liczba);
	return liczba;
}

//referencje
void mnozenie(int czynnik1, int czynnik2, int *iloczyn){
	*iloczyn = czynnik1 * czynnik2;
}
//tablica jest zawsze przez referencje
void uzupelnij(int tab[4]){
	for (int i = 0; i < 4; i++)	{
		tab[i] = i;
	}
}

void wypiszTablice(int tab[4])
{
	printf("\n");
	for (int i = 0; i < 4; i++)	{
		printf("tab[%d] = %d\n",i,tab[i]);
	}
}

int silnia(int n)
{
	if (n == 0) return 1;
	return silnia(n - 1)*n;
}


// program
int main(){
	// dane wejsciowe
	int liczba1, liczba2;
	int tab[4];
	// obliczenia
	int wynik1, wynik2;
	int iloczyn;
	wynik1 = wynik2 = 0;
	printf("program z funkcjami\n");
	liczba1 = pobierz();
	liczba2 = pobierz();
	//suma
	wynik1 = dodaj(liczba1, liczba2);
	wypisz(wynik1);
	wynik1 = odejmij(liczba1, liczba2);
	wypisz(wynik1);
	system("pause");

	mnozenie(pobierz(), pobierz(), &iloczyn);
	wypisz(iloczyn);

	uzupelnij(tab);
	wypiszTablice(tab);

	wypisz(silnia(4));

	system("pause");
	return 0;
}
