Sunteți pe pagina 1din 15

Tutorial C++

Mi-am propus sa te invat programare in C++, cel mai popular si avansat limbaj de programare.
Ce ar fi un site cu tema "Totul despre calculatoare" fara un tutorial de programare...?
Daca esti "din greseala" pe pagina asta, nu o sa iti explic ce e C++, pentru ca daca nu sti, nu are rost sa continui cu
tutorialul fara sa citesti aici mai intai.
Oricum, acest tutorial e pentru cei care n-au nicio idee in programare, dar au auzit de chestia asta si vor sa invete sa faca
primul lor program. Astfel explicatiile mele sunt "pe babeste", deci nu te enerva daca o sa vezi o mare simplitate in
explicatii.

Sa incepem!

A. Sa instalam ce trebuie
Mai intai, instaleaza Code::Blocks. In acesta facem programele. DOWNLOAD CODE::BLOCKS
Sunt foarte multe alte IDE-uri, dar acesta e cel mai bun freeware.

Bun.

Code::Blocks e un IDE (Integrated Development Enviroment), adica un mediu integral de facut programe, continand toate
componentele necesare de dezvoltare a unui program.
Nu confunda acest "IDE" cu acel IDE care mai inseamna Integrated Device Electronics, acela se refera la un concept ce
tine de partea electronica incorporata pe harduri, CD-ROM drive-uri.. etc, e alta poveste.

Prima data cand deschizi Code::Blocks dupa instalare (si sper ca l-ai descarcat pe ala ce ti l-am pus io in link), o sa iti
apara asta:

Selecteaza GNU GCC Compiler (daca nu e selectat), si da-i "Set as default". Acesta e compilatorul inclus in installer-ul
Code::Blocks, bineinteles, astfel aparand si la status ca "Detected".

Un compilator e inima unui IDE, e miezu, e carnea de pe ciolan. Acesta face tot, e ca stomacul care digera ce bagi in
gura. Tot ce scri tu in Code::Blocks, trece prin acest spiridus invizibil care traduce codul (in cazul nostru codul limbajului
C++) in semnale electrice binare specifice pentru procesor. Aceste semnale e ceea ce conteaza ca sa functioneze
calculatorul. Limbajul in sine e doar o lista formala, abstracta, umana, care e folosita pentru a redacta instructiunile extrem
de specifice. Bun, sa nu ne pierdem in buruieni, oricum nu ne intereseaza deocamdata cum face asta.
Dupa ce ai ales GNU GCC ca default, o sa se deschida Code::Blocks.

B. Sa facem proiect nou

Da-i "Create a new project":

Alege "Console application" (apoi butonul "Go"):


Apoi "Next":

Apoi alege "C++":


Apoi alege un titlu pentru proiect si o locatie unde sa-l salvezi:

La titlu hai sa punem... invat_programare (defapt ce vrei tu)


si la locatie alege una usor de accesat, de exemplu desktop-ul.

Aici lasa neschimbat:


Da-i "Finish" si gata!
Acum iti apare asa:

!!! In caz ca nu ti se deschide astfel


Asta a fost asa de asigurare, pentru ca de multe ori nu se deschide direct pagina cu proiectul.

Bun!

C. Sa trecem la programare!

Sterge tot codul ala de acolo si lasa pagina goala. O sa-l invatam ala mai intai, stai linistit, dar trebuie sa incepem de la 0.

Sa incepi un program C++, scrie codurile astea asa cum le vezi aici:
(asta a fost deja acolo, dar trebuie sa o scri tu din nou)

Ce-i asta?
Asta-i structura de baza! Scheletul unui program C++! Ca sa poti face orice altceva trebuie sa incepi cu acest cadru.

Deocamdata trebuie sa inveti chestia asta pe de rost, apoi iti zic ce inseamna fiecare linie in parte.
Scrie chestiile astea pana le sti pe de rost, apoi vom trece mai departe. (observi ca Code::Blocks ti le completeaza
automat)

Deci,

Daca nu te intereseaza, poti sa sari peste explicarea lor, insa o sa fi cam "in aer" cand o sa trebuiasca sa explici ce
inseamna, si asta o sa te incurce atunci cand o sa ai un program mai complex.

#include <iostream> e un header. Headerele care incep cu #include sunt biblioteci de coduri apelate de functiile cu care
vom lucra. Nu te speria, functiile isi iau singure codul intrun mod ascuns :)
<iostream> e o bibiloteca responsabila cu intrarile si iesirile, de exemplu e necesara pentru afisarea unui text pe ecran
sau sa introducem ceva de la tastatura. Deci, cu aceasta linie, am #inclus biblioteca <iostream> Prin urmare, am inceput
prin a-i zice lui Code::Blocks ca urmeaza sa lucram cu intrari si iesiri.

using namespace std; e o instructiune care nu ne intereseaza acum. E responsabila pentru generalizarea claselor de
intrari si iesiri, si astfel cu ajutorul ei putem folosi foarte comod codurile de intrare/iesire. E important deocamdata sa sti ca
trebuie folosita neaparat in C++, in rest... technical stuff :)

int main( ) Asta e functia principala. Asta-i cadrul principal al programului, cutia cu dulciuri. In corpul acestei functii vom
face aproape totul de acum inainte.

{
Aceste doua acolade fac corpul functiei. Reprezinta inceputul si sfarsitul ei. Da, apartin de functia int main( ) si intre
ele vom pune totul. (pentru cunoscatorii de HTML, acestea ar fi precum <body> </body>)
}
1. Intrari si iesiri
1.1 Afisarile, cu cout

No fain! Acum hai sa facem sa se intample ceva. Sa facem un program care arata pe ecran "Ce faci?"

ca sa faci asta, scri asta in functia main:

Ca sa execute, da-i pe butonul asta:

Acum trebuie sa iti apara asta:

Fain! Ai facut primul tau program, care arata "Ce faci?"


Ce e intre ghilimelele albastre e textul de la tine, restul sunt cuvintele fixe ale limbajului de programare.

Sa vedem ce inseamna instructiunea asta:

"cout" vine de la "console out", adica iesire la consola (pe ecran)


"<<" specifica faptul ca textul iese la consola (flux spre stanga).
Apoi intre ghilimele " " pui textul care va fi afisat pe ecran (care va iesi la consola)
apoi inchei instructiunea cu ; (punct si virgula)

----------------------------------------------------------------------------------------------------------------------------------------------------------
Foarte important!!! Nu uita sa inchei instructiunile cu simbolul punct si virgula! Chestia asta ii zice compilatorului
ca i-ai dat o instructiune.
----------------------------------------------------------------------------------------------------------------------------------------------------------
Deci, ca sa afisezi ceva pe ecran, modelul e cout<<"bla bla";
Tot ce-i intre ghilimele e de la user, si nu face parte din limbaj!

Exercitii:
1. Sterge tot ce ai scris pana acum si fa un program care arata pe ecran: Salut la toata lumea!

Bun. Sper ca te-ai descurcat. Sa continuam.


Deci ai vazut cum poti sa afisezi un mesaj pe ecran cu cout. Dar sti ceva? Poti sa scri doua linii! Sau cate linii vrei!

Si o sa iti arate...

Fain, dar hmm... de ce le arata pe aceeasi linie...?


Sa iti zic o smecherie: compilatorul nu stie ca le-ai scris una sub alta... sau ca ai lasat spatii... etc. El le interpreteaza ca si
cum le-ai scris in continuare, pentru ca aranjamentul codului e formal si e doar pentru lizibilitate.
Pentru asta trebuie sa pui simbolul "\n" acolo unde vrei sa coboare pe alta linie:

si o sa iti arate...
eh.. pai vezi? Alta treaba!

Stiu, poate zici ca "pai cum asa, daca "\n" face parte din texul de la mine de ce are efectul asta? Caracterele care incep
cu "\" sunt caractere speciale, numite caractere escape, si cand compilatorul le intalneste le trateaza altfel. Vom vorbi si
despre astea mai tarziu.

sau mai poti sa pui chestia asta:

care face acelasi lucru. Cand vede <<endl trece pe alta linie, pentru ca endl inseamna "end line".

Poti daca vrei sa pui doua mesaje pe aceeasi linie...

care bineinteles, le arata in continuare.

Sau poti sa le intrerupi unde vrei:

Exercitii:
sterge tot ce ai scris pana acum si
1. Scrie un program care sa afiseze textele ce faci mai? si eu ma holbez la monitor pe doua linii diferite.
2. Scrie un program care sa afiseze aceleasi texte pe aceeasi linie, dar separate cu "<<"
3. Scrie un program care afiseaza 5 linii de text, ce text vrei tu, dar delimitate de endl;

Si nu uita de ghilimele! Textul de la user e intotdeauna intre ghilimele!

Numere si operatii
Cu cout poti afisa si numere, si poti afisa direct rezultatul operatiilor.

Semnele de operatii sunt:

+ . . . . . plus

- . . . . . minus

* . . . . . inmultire
/ . . . . . impartire
% . . . . . modulo (arata doar restul impartirii)
= . . . . . atribuire (de exemplu daca ai pus x=z, atunci la x i-ai dat valoarea lui z

-------------------------------

Exemple:
Afisare de numere:
(numerele nu trebuie sa le pui intre ghilimele, doar sirurile se pun)
Adunare:

Scadere:
Inmultire:

Impartire:

Bun! Acuma sper ca sti cum sa areti un mesaj pe ecran si niste numere, dar poate tu vrei sa il intrebi pe user cati ani are:

si bietul om nu poate sa iti raspunda, astfel cand vede intrebarea se enerveaza si arunca PC-ul pe geam pentru ca
egoistul ala de la totuldesprecalculatoare nu te-a invatat cum sa faci sa poata raspunde si userul.
hmmm... oare cum sa facem?

Cu variabile!
1.2 Variabilele

Variabilele sunt casute in memorie! Sunt ca niste cutii care pot fi umplute cu date.
Cand cerem ceva de la utilizator (si nu numai), folosim niste casute din memorie in care sa punem acea informatie.
Casutele din memorie sunt de mai multe feluri, ca sa poata tine tipuri diferite de date, deci variabilele sunt de urmatoarele
tipuri:

int . . . . . . . . tip variabila care stocheaza numere intregi (de exemplu 2, 3, 74, 230...)
float . . . . . . . . tip de variabila care stocheaza numere cu virgula (de exemplu 2.4, 16.3, 198.7...)
double . . . . . . . . tip de variabila care stocheaza numere cu virgula de precizie dubla (de exemplu 2.454, 16.32323,
198.7567...)
char . . . . . . . . . tip de variabila care stocheaza caractere (de exemplu a, b, y...)
bool . . . . . . . . . tip de variabila care stocheaza doar valori binare (adevatat sau fals).

si cea mai noua, in C++:

string . . . . . . . . . tip de variabila care stocheaza siruri intregi de caractere (de exemplu ahsgjskdj, sase sasi in sase
saci...) Aceasta e mai mult decat o variabila. E foarte speciala, pentru ca nu e defapt... variabila, ci o clasa intreaga de
obiecte apelata printr-un singur cuvant, dar nu ne intereseaza deloc acum.

Mai ti minte cand afisam ceva pe ecran, cum indreptam sagetutele spre stanga?
Ei bine, cand vrem sa bagam ceva in memorie, in variabile, le intoarcem spre dreapta.
De exemplu, acum cerem un numar de la user si il bagam in variabila numaru_meu:

Si ca sa afisam acum continutul variabilei, il afisam cu cout. Tine minte, variabilele si numerele nu le punem intre
ghilimele.

Rulam si apare:
Am introdus 5

S-ar putea să vă placă și