Do sada smo naučili:
- promenljive
- tipove podataka
- memoriju
- konverzije tipova podataka
Sada prelazimo na jednu od najvažnijih praktičnih tema u programiranju:
aritmetički operatori
Bez njih program ne može da računa.
A bez računanja nema:
- kalkulatora
- finansijskih aplikacija
- igara
- statistike
- algoritama
- poslovnih aplikacija
- inženjerskih programa
- naučnih simulacija
Aritmetički operatori omogućavaju programu da obavlja matematičke operacije.
Ovo je jedna od apsolutnih osnova C++ programiranja.
U ovoj lekciji naučićemo:
- šta su operatori,
- osnovne matematičke operacije,
- redosled izvršavanja,
- integer division,
- operator ostatka pri deljenju,
- praktične primere,
- i najčešće greške početnika.
Šta je operator?
Operator je simbol koji govori programu koju operaciju treba izvršiti.
Na primer:
+
znači:
sabiranje
Primer:
5 + 3
Rezultat:
8
Operator radi nad vrednostima koje nazivamo:
operandi
Ovde:
5
i
3
su operandi.

Osnovni aritmetički operatori
U C++ najvažniji aritmetički operatori su:
Sabiranje:
+
Oduzimanje:
-
Množenje:
*
Deljenje:
/
Ostatak pri deljenju:
%
Ovo je osnovni set operatora koji se koristi svakodnevno.
Operator sabiranja (+)
Koristi se za sabiranje brojeva.
Primer:
int a = 10;
int b = 5;
cout << a + b;
Rezultat:
15
Možemo i:
int zbir = a + b;
Sabiranje decimalnih brojeva
Primer:
double cena1 = 99.99;
double cena2 = 50.50;
cout << cena1 + cena2;
Rezultat:
150.49
Operator oduzimanja (-)
Koristi se za razliku.
Primer:
int a = 20;
int b = 8;
cout << a - b;
Rezultat:
12
Primer iz realnog života:
stanje računa:
double stanje = 1000.00;
double trosak = 250.50;
double novoStanje = stanje - trosak;
Operator množenja (*)
Koristi se za množenje.
Primer:
int cena = 300;
int komada = 4;
cout << cena * komada;
Rezultat:
1200
Primer:
double povrsina = 5.5 * 3.2;

Operator deljenja (/)
Koristi se za deljenje.
Primer:
double a = 10;
double b = 2;
cout << a / b;
Rezultat:
5
Ali ovde postoji veoma važna zamka.
Integer division
Ako oba broja imaju tip:
int
rezultat je ceo broj.
Primer:
int a = 5;
int b = 2;
cout << a / b;
Početnik očekuje:
2.5
Ali rezultat je:
2
Zašto?
Jer int ne čuva decimalni deo.
Decimala se odbacuje.
Ispravno decimalno deljenje
Rešenje:
cout << (double)a / b;
Rezultat:
2.5
Ovo je jedna od NAJVAŽNIJIH početničkih lekcija.

Operator ostatka pri deljenju (%)
Veoma važan operator.
Naziva se:
modulo operator
Vraća ostatak pri deljenju.
Primer:
10 % 3
Matematika:
10 / 3 = 3
ostatak = 1
Rezultat:
1
Primer:
cout << 17 % 5;
Rezultat:
2
Jer:
17 = 15 + 2
Gde se koristi modulo?
Veoma često.
Provera parnog broja:
if (broj % 2 == 0)
Ako nema ostatka:
broj je paran.
Primer:
12 % 2 = 0
Primer:
13 % 2 = 1
Operator inkrement (++)
Povećava vrednost za 1.
Primer:
int broj = 5;
broj++;
cout << broj;
Rezultat:
6
Isto kao:
broj = broj + 1;
Ali kraće.
Operator dekrement (–)
Smanjuje vrednost za 1.
Primer:
int broj = 10;
broj--;
cout << broj;
Rezultat:
9
Složeni operatori dodele
Veoma korisni.
Sabiranje:
+=
Primer:
x += 5;
isto kao:
x = x + 5;
Oduzimanje:
-=
Primer:
x -= 3;
Množenje:
*=
Deljenje:
/=
Primer:
x *= 2;
Primer
int poeni = 10;
poeni += 5;
Rezultat:
15

Redosled izvršavanja operacija
C++ prati matematičku logiku.
Prioritet:
- zagrade
- množenje / deljenje / modulo
- sabiranje / oduzimanje
Primer:
2 + 3 * 4
Rezultat:
Prvo:
3 * 4 = 12
Zatim:
2 + 12 = 14
Ako želimo drugačije:
(2 + 3) * 4
Rezultat:
20
Kombinovani primer
int rezultat = (10 + 5) * 2 - 4;
Koraci:
10 + 5 = 15
15 * 2 = 30
30 - 4 = 26
Rad sa promenljivama
Primer:
int a = 10;
int b = 3;
cout << a + b << endl;
cout << a - b << endl;
cout << a * b << endl;
cout << a / b << endl;
cout << a % b << endl;
Rezultati:
13
7
30
3
1
Praktični primer — kalkulator
#include <iostream>
using namespace std;
int main() {
double a, b;
cout << "Unesi prvi broj: ";
cin >> a;
cout << "Unesi drugi broj: ";
cin >> b;
cout << "Zbir: " << a + b << endl;
cout << "Razlika: " << a - b << endl;
cout << "Proizvod: " << a * b << endl;
cout << "Kolicnik: " << a / b << endl;
return 0;
}
Praktični primer — provera parnosti
int broj;
cin >> broj;
if (broj % 2 == 0) {
cout << "Paran";
}
else {
cout << "Neparan";
}
Najčešće greške početnika
1. Integer division
Najčešća greška.
5 / 2
nije:
2.5
2. Deljenje nulom
Pogrešno:
10 / 0
Runtime greška.
3. Korišćenje % sa decimalnim brojevima
Pogrešno:
5.5 % 2
Modulo radi sa celim brojevima.
4. Loš redosled operacija
2 + 3 * 4
nije:
20
5. Mešanje ++ i +=
Različite stvari:
x++
uvek +1
x += 5
+5
Realne primene
Operatori se koriste svuda:
Bankarstvo:
saldo - trosak
E-commerce:
cena * komada
Igre:
poeni += 10
Analitika:
ukupno / brojZapisa
Validacija:
broj % 2
Rezime
U ovoj lekciji naučili smo:
Osnovne operatore:
+
-
*
/
%
Dodatne:
++
--
+=
-=
*=
/=
Najvažnija zamka:
integer division
Aritmetički operatori su jedna od najčešće korišćenih stvari u svakom programu.
Mini test
- Koji operator znači množenje?
a) +
b) *
c) / - Šta daje:
5 / 2
ako su int?
a) 2
b) 2.5
- Šta radi
%?
a) sabira
b) daje ostatak - Šta radi
++?
a) +2
b) +1 - Koliko je:
2 + 3 * 4
a) 20
b) 14
Zadaci za vežbu
- Napravi mini kalkulator.
- Proveri da li je broj paran.
- Koristi
+=. - Koristi
++. - Testiraj integer division.
Domaći zadatak
Napravi program koji:
- unosi dva broja
- prikazuje sve osnovne operacije
- proverava da li je prvi broj paran
- koristi inkrement i dekrement
