Jedna od prvih stvari koje učimo u C++ programiranju jeste komunikacija između programa i korisnika.

Program često treba da:

  • prikaže neku poruku,
  • zatraži unos,
  • primi podatak sa tastature,
  • obradi ga,
  • i prikaže rezultat.

Za to u C++ jeziku najčešće koristimo:

cout

i:

cin

cout služi za ispis podataka na ekran.

cin služi za unos podataka sa tastature.

U ovom tekstu naučićemo:

  • šta je cout,
  • kako se koristi cin,
  • kako se ispisuje tekst,
  • kako se unose brojevi,
  • kako se kombinuju unos, obrada i ispis,
  • i koje greške početnici najčešće prave.

Osnovni primer programa

Pogledajmo jednostavan primer:

#include <iostream>
using namespace std;

int main() {
    int broj;

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

    cout << "Uneli ste broj: " << broj;

    return 0;
}

Ovaj program:

  1. pravi promenljivu broj,
  2. prikazuje poruku korisniku,
  3. čeka unos sa tastature,
  4. čuva unetu vrednost,
  5. prikazuje rezultat.

Šta je cout?

cout je objekat koji koristimo za ispis podataka na ekran.

Najčešće ga koristimo ovako:

cout << "Hello World";

Rezultat na ekranu biće:

Hello World

Tekst koji želimo da prikažemo pišemo između navodnika.

Primer:

cout << "Ucim C++";

Rezultat:

Ucim C++

cout možemo zamisliti kao izlaz iz programa prema korisniku.

Program šalje podatke ka ekranu.

Operator <<

Kod cout koristimo operator:

<<

Ovaj operator šalje podatke ka izlazu.

Primer:

cout << "Zdravo";

Možemo ga čitati ovako:

Pošalji tekst "Zdravo" na ekran.

Operator << se može koristiti više puta u istoj naredbi.

Primer:

cout << "Zbir je: " << 15;

Rezultat:

Zbir je: 15

Ispis teksta i brojeva

C++ može ispisivati:

  • tekst,
  • brojeve,
  • promenljive,
  • rezultate izraza.

Primer:

#include <iostream>
using namespace std;

int main() {
    int godina = 2026;

    cout << "Godina je: " << godina;

    return 0;
}

Rezultat:

Godina je: 2026

Tekst se piše pod navodnicima, a promenljive bez navodnika.

Ispis više vrednosti

Možemo ispisati više vrednosti u jednoj naredbi:

int a = 5;
int b = 7;

cout << "a = " << a << ", b = " << b;

Rezultat:

a = 5, b = 7

Ovo je veoma korisno kada želimo da prikažemo rezultat izračunavanja.

Novi red u ispisu

Ako želimo da ispis prebacimo u novi red, možemo koristiti:

endl

Primer:

cout << "Prvi red" << endl;
cout << "Drugi red" << endl;

Rezultat:

Prvi red
Drugi red

Možemo koristiti i znak:

\n

Primer:

cout << "Prvi red\n";
cout << "Drugi red\n";

Rezultat je isti.

Šta je cin?

cin se koristi za unos podataka sa tastature.

Primer:

int broj;
cin >> broj;

Ovaj kod znači:

Učitaj vrednost koju korisnik unese i smesti je u promenljivu broj.

Pre korišćenja cin, promenljiva mora biti deklarisana.

Pogrešno:

cin >> broj;

ako promenljiva broj prethodno nije napravljena.

Ispravno:

int broj;
cin >> broj;

Operator >>

Kod cin koristimo operator:

>>

Ovaj operator usmerava podatak iz tastature u promenljivu.

Primer:

cin >> x;

Možemo ga čitati ovako:

Učitaj podatak i upiši ga u promenljivu x.

Važno je razlikovati:

cout << podatak;

i:

cin >> promenljiva;

Kod cout strelice idu ulevo.

Kod cin strelice idu udesno.

Unos jednog broja

Primer programa koji unosi jedan broj:

#include <iostream>
using namespace std;

int main() {
    int broj;

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

    cout << "Uneli ste: " << broj;

    return 0;
}

Ako korisnik unese:

8

program ispisuje:

Uneli ste: 8

Unos dva broja

Možemo uneti više vrednosti.

Primer:

#include <iostream>
using namespace std;

int main() {
    int a, b;

    cout << "Unesi dva broja: ";
    cin >> a >> b;

    cout << "Prvi broj je: " << a << endl;
    cout << "Drugi broj je: " << b << endl;

    return 0;
}

Ako korisnik unese:

5 9

program će vrednost 5 smestiti u a, a vrednost 9 u b.

Sabiranje dva broja

Sada možemo napraviti prvi koristan program.

#include <iostream>
using namespace std;

int main() {
    int a, b, zbir;

    cout << "Unesi prvi broj: ";
    cin >> a;

    cout << "Unesi drugi broj: ";
    cin >> b;

    zbir = a + b;

    cout << "Zbir je: " << zbir;

    return 0;
}

Ovaj program:

  1. unosi dva broja,
  2. sabira ih,
  3. rezultat čuva u promenljivoj zbir,
  4. ispisuje rezultat.

Unos realnih brojeva

Ako želimo da unesemo decimalne vrednosti, koristimo tip:

double

Primer:

#include <iostream>
using namespace std;

int main() {
    double cena, kolicina;

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

    cout << "Unesi kolicinu: ";
    cin >> kolicina;

    cout << "Ukupno: " << cena * kolicina;

    return 0;
}

Ako korisnik unese:

120.5
3

rezultat je:

Ukupno: 361.5

Unos karaktera

Za unos jednog karaktera koristimo:

char

Primer:

#include <iostream>
using namespace std;

int main() {
    char slovo;

    cout << "Unesi jedno slovo: ";
    cin >> slovo;

    cout << "Uneli ste slovo: " << slovo;

    return 0;
}

Unos reči

Za unos jedne reči koristimo:

string

Primer:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string ime;

    cout << "Unesi ime: ";
    cin >> ime;

    cout << "Zdravo, " << ime;

    return 0;
}

Ako korisnik unese:

Petar

program ispisuje:

Zdravo, Petar

Napomena: cin >> ime čita samo jednu reč, do prvog razmaka.

Razlika između cin i getline

Ako želimo da unesemo tekst sa razmakom, cin nije dovoljan.

Primer:

string imePrezime;
cin >> imePrezime;

Ako korisnik unese:

Petar Petrovic

promenljiva će sačuvati samo:

Petar

Za celu liniju teksta koristi se:

getline(cin, imePrezime);

Primer:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string imePrezime;

    cout << "Unesi ime i prezime: ";
    getline(cin, imePrezime);

    cout << "Uneli ste: " << imePrezime;

    return 0;
}

Najčešće greške kod cout i cin

1. Pogrešan smer operatora

Pogrešno:

cin << broj;

Ispravno:

cin >> broj;

Pogrešno:

cout >> broj;

Ispravno:

cout << broj;

2. Nedeklarisana promenljiva

Pogrešno:

cin >> x;

ako x nije prethodno deklarisan.

Ispravno:

int x;
cin >> x;

3. Nedostaju navodnici kod teksta

Pogrešno:

cout << Hello;

Ispravno:

cout << "Hello";

4. Nedostaje tačka-zarez

Pogrešno:

cout << "Test"

Ispravno:

cout << "Test";

5. Mešanje cin i getline

Ako pre getline koristimo cin, može doći do problema zbog znaka za novi red koji ostaje u memoriji.

Ovo ćemo detaljnije obraditi kada budemo učili stringove.

Zašto su cout i cin važni?

cout i cin su prvi alati pomoću kojih program komunicira sa korisnikom.

Pomoću njih možemo:

  • prikazati poruke,
  • zatražiti unos,
  • prikazati rezultate,
  • testirati programe,
  • i učiti algoritme.

Skoro svaki početnički zadatak iz C++ jezika koristi cout i cin.

Zato je veoma važno da ih dobro razumemo.

Rezime

U ovom tekstu naučili smo da se za ispis podataka koristi:

cout

a za unos podataka:

cin

cout šalje podatke ka ekranu pomoću operatora:

<<

cin učitava podatke sa tastature pomoću operatora:

>>

Ovo su osnovni alati za komunikaciju između programa i korisnika.

Mini test

  1. Šta radi cout?
    a) Unosi podatke
    b) Ispisuje podatke na ekran
    c) Briše program
  2. Šta radi cin?
    a) Unosi podatke sa tastature
    b) Ispisuje tekst
    c) Pokreće kompajler
  3. Koji operator se koristi uz cout?
    a) >>
    b) <<
    c) ==
  4. Koji operator se koristi uz cin?
    a) <<
    b) >>
    c) !=
  5. Šta će ispisati sledeći kod?
int x = 5;
cout << x;

a) x
b) 5
c) Grešku

Zadaci za vežbu

  1. Napiši program koji ispisuje tvoje ime.
  2. Napiši program koji unosi jedan broj i ispisuje ga.
  3. Napiši program koji unosi dva broja i ispisuje njihov zbir.
  4. Napiši program koji unosi ime i ispisuje poruku:
Zdravo, [ime]
  1. Napiši program koji unosi cenu i količinu, pa ispisuje ukupan iznos.

Domaći zadatak

Napravi program koji od korisnika traži:

  • ime,
  • prezime,
  • godine,
  • omiljeni predmet.

Zatim program treba da ispiše poruku u više redova:

Podaci o studentu:
Ime: ...
Prezime: ...
Godine: ...
Omiljeni predmet: ...

Obavezno koristi:

  • cout,
  • cin,
  • više promenljivih,
  • i ispis u više redova.

Pristupačnost