U prethodnoj lekciji naučili smo šta su promenljive i zašto su neophodne u programiranju.

Sada dolazimo do sledećeg veoma važnog pojma:

tipovi podataka

Kada pravimo promenljivu, nije dovoljno samo dati joj ime.

Računar mora da zna:

  • kakvu vrstu podatka ta promenljiva čuva,
  • koliko memorije da rezerviše,
  • kako da obrađuje taj podatak,
  • i koje operacije su dozvoljene.

Na primer:

Da li promenljiva čuva:

  • ceo broj?
  • decimalni broj?
  • jedan karakter?
  • logičku vrednost?

Zbog toga postoje tipovi podataka.

U ovoj lekciji fokusiraćemo se na tri osnovna numerička tipa:

  • int
  • float
  • double

Oni se koriste u gotovo svakom C++ programu.

U ovom tekstu naučićemo:

  • šta je tip podatka,
  • kako rade int, float i double,
  • razliku između celih i decimalnih brojeva,
  • kako računar čuva ove podatke,
  • kada koristiti koji tip,
  • i koje greške početnici najčešće prave.

Šta je tip podatka?

Tip podatka govori računaru kakvu vrednost promenljiva može da čuva.

Primer:

int godine = 21;

Ovde:

  • int = tip podatka
  • godine = ime promenljive
  • 21 = vrednost

Računar sada zna:

Ova promenljiva čuva ceo broj.

Ako napišemo:

double cena = 1250.75;

računar zna:

Ova promenljiva čuva decimalni broj.

Tip podatka definiše ponašanje promenljive.

Šta je int?

int je skraćenica od:

integer

što znači:

ceo broj

Koristi se za brojeve bez decimalnog dela.

Primeri:

int broj = 5;
int godine = 22;
int poeni = 100;
int temperatura = -3;

Sve ovo su cele vrednosti.

Dozvoljeno:

5
100
-12
0
25000

Nije dozvoljeno:

5.5
10.75
3.14

Jer to nisu celi brojevi.

Primer sa int

#include <iostream>
using namespace std;

int main() {
    int broj = 25;

    cout << broj;

    return 0;
}

Rezultat:

25

Operacije sa int

Možemo koristiti matematičke operacije:

int a = 10;
int b = 5;

cout << a + b;
cout << a - b;
cout << a * b;
cout << a / b;

Rezultati:

15
5
50
2

Problem kod deljenja int brojeva

Ovo je veoma važna stvar.

Ako delimo dva int broja:

int a = 5;
int b = 2;

cout << a / b;

Matematički očekujemo:

2.5

Ali rezultat je:

2

Zašto?

Jer int ne čuva decimalni deo.

Računar odbacuje decimalu.

Ovo je veoma česta početnička greška.

Šta je float?

float je tip za decimalne brojeve.

Primer:

float cena = 99.99;

Za razliku od int, float može čuvati decimalne vrednosti.

Primeri:

float temperatura = 36.6;
float tezina = 72.5;
float procenat = 15.75;

Primer sa float

#include <iostream>
using namespace std;

int main() {
    float cena = 125.50;

    cout << cena;

    return 0;
}

Rezultat:

125.5

Zašto se koristi f?

Kod float vrednosti često pišemo:

float broj = 3.14f;

Slovo:

f

govori kompajleru:

ovo je float literal.

Bez toga decimalni broj se podrazumevano tretira kao double.

Operacije sa float

float a = 5.5;
float b = 2.0;

cout << a / b;

Rezultat:

2.75

Sada decimalni deo ostaje sačuvan.

Šta je double?

double je takođe tip za decimalne brojeve.

Ali ima veću preciznost od float.

Primer:

double cena = 1250.75;

Koristi se kada želimo preciznije decimalne vrednosti.

Na primer:

  • finansijski proračuni
  • naučne kalkulacije
  • merenja
  • procenti
  • statistika

Primer sa double

#include <iostream>
using namespace std;

int main() {
    double pi = 3.1415926535;

    cout << pi;

    return 0;
}

Rezultat:

3.14159...

Razlika između float i double

Jednostavno:

float = manja preciznost

double = veća preciznost

Tipično:

  • float ≈ 6–7 decimalnih cifara
  • double ≈ 15 decimalnih cifara

Primer:

float a = 3.1415926535;
double b = 3.1415926535;

cout << a << endl;
cout << b << endl;

double daje precizniji rezultat.

Memorija i tipovi podataka

Tip podataka utiče i na memoriju.

Tipično:

int     → 4 bajta
float   → 4 bajta
double  → 8 bajtova

To znači:

double koristi više memorije, ali daje veću preciznost.

Početnicima ovo nije presudno, ali je važno razumeti koncept.

Kada koristiti int?

Koristi int kada radiš sa:

  • godinama
  • brojem studenata
  • količinom proizvoda
  • poenima
  • brojem pokušaja
  • ID vrednostima

Primer:

int brojStudenata = 120;

Jer broj studenata nije decimalan.

Kada koristiti float?

Koristi float kada:

  • decimalna preciznost nije kritična
  • radiš sa jednostavnim merenjima
  • grafikom
  • igrama
  • koordinatama

Primer:

float brzina = 85.5;

Kada koristiti double?

Koristi double kada:

  • radiš finansijske kalkulacije
  • želiš veću preciznost
  • koristiš naučne formule
  • radiš statistiku

Primer:

double kurs = 117.4567;

Uporedni primer

int a = 10;
float b = 10.5f;
double c = 10.555555555;

Ovde:

  • a = ceo broj
  • b = decimalni broj sa manjom preciznošću
  • c = decimalni broj sa većom preciznošću

Mešanje tipova

Primer:

int a = 5;
double b = 2.5;

cout << a + b;

Rezultat:

7.5

C++ može kombinovati različite tipove.

Ali treba razumeti šta se dešava.

Implicitna konverzija

Ako napišemo:

int a = 5;
double b = a;

C++ automatski pretvara:

5 → 5.0

To se zove:

implicitna konverzija

Najčešće greške početnika

1. Korišćenje int za decimalne brojeve

Pogrešno:

int cena = 99.99;

Rezultat:

99

Decimalni deo se gubi.

Ispravno:

double cena = 99.99;

2. Deljenje int brojeva

Pogrešno:

int a = 5;
int b = 2;

cout << a / b;

Rezultat:

2

3. Očekivanje pune preciznosti od float

float nije idealan za precizne proračune.

4. Mešanje tipova bez razumevanja

int x = 10;
float y = 3.5;

Treba razumeti kako C++ obrađuje rezultat.

5. Pogrešna očekivanja kod finansija

Za ozbiljne finansijske sisteme često se koriste specijalni pristupi zbog preciznosti, ne obični float.

Primer praktičnog programa

#include <iostream>
using namespace std;

int main() {
    int komada;
    double cena;

    cout << "Unesi broj komada: ";
    cin >> komada;

    cout << "Unesi cenu jednog proizvoda: ";
    cin >> cena;

    double ukupno = komada * cena;

    cout << "Ukupan iznos: " << ukupno;

    return 0;
}

Ovde:

  • broj komada = int
  • cena = double
  • rezultat = double

To je realan primer.

Rezime

U ovoj lekciji naučili smo tri važna numerička tipa:

int

za cele brojeve

float

za decimalne brojeve sa manjom preciznošću

double

za decimalne brojeve sa većom preciznošću

Izbor tipa podataka utiče na:

  • memoriju
  • preciznost
  • ponašanje programa
  • rezultate računanja

Razumevanje tipova podataka je osnova ozbiljnog programiranja.

Mini test

  1. Koji tip čuva cele brojeve?
    a) float
    b) int
    c) double
  2. Koji tip ima veću preciznost?
    a) float
    b) double
  3. Šta daje:
int a = 5;
int b = 2;
cout << a / b;

a) 2
b) 2.5

  1. Koji tip je bolji za cenu proizvoda?
    a) int
    b) double
  2. Koliko tipično memorije koristi double?
    a) 4 bajta
    b) 8 bajtova

Zadaci za vežbu

  1. Napravi int promenljivu za godine.
  2. Napravi float promenljivu za temperaturu.
  3. Napravi double promenljivu za kurs valute.
  4. Uporedi rezultat deljenja:
  • int
  • double
  1. Napravi program za računanje ukupne cene kupovine.

Domaći zadatak

Napravi mini kalkulator koji:

  • unosi dva broja
  • računa zbir
  • razliku
  • proizvod
  • količnik

Koristi:

  • double tip za brojeve.

Pristupačnost