Mini-Browser

sâmbătă, 4 decembrie 2010

Primul Program.. Afisarea unui mesaj


Vom incepe prin a prezenta cel mai simplu program, si anume afisarea unui mesaj.

# include <iostream>
using namespace std;

int main() {
    cout << " Exemplu de mesaj. ";
}


Acest program nu face decat sa afiseze un singur mesaj, nimic mai mult.
Ca sa intelegem mai bine vom lua fiecare instructiune in parte si o vom analiza.

 " #include <iostream> " - Directiva are forma generala #include <nume_fisier> . Acesta este o directiva de preprocesor din C++ si nu face altceva decat sa incarce declaratii si definitii care accepta o parte a bibliotecii standard C++.
De ce avem nevoie de asa ceva?

Pai , in acest exemplu este nevoie de aceasta directiva pentru a putea afisa mesajul, caci obiectul cout este definit in cadrul fisierului iostream si nu face decat sa afiseze mesajul dintre ghilimele la consola.

Alte exemple de directive pot fi: #include <math.h> , #include <string>, #include <stdlib.h> , etc...
Probabil ati observat ca unele tipuri contin extensia .h si altele nu.
Explicatia este ca cele care nu contin aceasta extensie .h sunt fisiere "virtuale". 
Ce intelegem prin virtuale?
Adica care contine informatii intr-o forma precompilata. 
De asemenea retineti ca numele fisierului se scrie intre aceste semne < > caci pe viitor vom invata ca ne putem creea noi propriile fisiere include.
Sunt multe de discutat despre aceste directive de aceea nu am sa ma intind prea mult.

Daca nu intelegeti prea bine nu-i nici o problema, tot ce trebuie sa stiti momentan este sa includeti aceasta directiva la inceputul programului. ( #include <iostream> )


using namespace std; " - Instructiunea using permite referirea directa la obiecte precum std::cout.
Daca nu am fi avut aceasta instructiune ar fi trebuit sa afisam mesajul astfel:
    std::cout<<" Exemplu de mesaj. ";
Aceasta instructiune ne scuteste de nevoia de a mai scrie std:: inaintea obiectuluilui cout si de asemenea inaintea lui cin sau endl (explic in viitoarele tutoriale ce inseamna).
namespace std indica faptul ca se foloseste spatiul de nume std.


int main() { } " - In principiu main este o functie.(vom discuta despre functii in tutorialele viitoare) De aici isi incepe programul executia si ruleaza pana la terminarea lui.
In fiecare program creat in C++ avem nevoie de functia main. De asemenea trebuie sa mentionez acele acolade "{ }". Desi aici sunt afisate una dupa alta trebuie sa tinem minte ca toate instructiunile trebuie plasate intre ghilimele, exact ca in exemplul de sus.
Forma generala este:

int main() {
    instructiuni;
}


return 0; " - Aceasta instructiune nu face decat sa returneze valoarea 0 sistemului inainte de a-si incheia executia. Este bine sa ne invatam sa scriem return 0; la fiecare program pe care il facem deoarece functiile in genereal returneaza o valoare cu exceptia celor de tip void, si ne va fi la indemana cand vom invata despre functii.


cout "  -  ( cout = console output, in engleza)

Am pastrat acest cout pentru final deoarece este singura instructiune reala a acestui exemplu.

Ne putem imagina cout ca fiind ecranul calculatorului sau mai concret consola. In C++ datele de iesire se afiseaza folosind cout si un operator de "flux" ( << ) orientat spre stanga, care indica trecerea datelor de la o valoare ( in acest caz textul intre ghilimele) la consola.

                                  cout<< "Stapane, sunt aici pentru a sluji!";

Mereu cand folosim cout trebuie sa plasam textul intre ghilimele ( " " ) !!
De asemenea nu trebuie sa uitam de caracterul punct si virgula ( ; ).
O importanta regula este ca Fiecare instructiune din C++ trebuie sa se termine cu punct si virgula cu cateva exceptii, pe care le vom explica la momentul potrivit.
Una din exceptii este directiva #include <nume_fisier> Dupa aceasta instructiune nu se pune punct si virgula.
O a II-a exceptie este functie main.

Daca ne jucam putin cu afisarea mesajelor observam ca urmatorul program desi functioneaza, nu reactioneaza exact cum dorin noi.

#include <iostream>
using namespace std;

int main() {
    cout << " Eu sunt Terminator,";
    cout << " Sunt un virus foarte renumit.";
    cout << " Temeti-va!! ";
return 0;
}

Acest program va afisa: Eu sunt Terminator.Sunt un virus foarte puternic.Temeti-va!!
Iar noi dorim sa le afiseze unul sub altul ca trei propozitii independente.
Cum facem asta?
Pai textul trimis la ecran nu trece automat la urmatoarea linie fizica, iar din acest motiv trebuie sa afisam un caracter linie noua si anume endl ( endl = end line ).
Iata programul care afiseaza propozitiile pe 3 linii fizice independente:

#include <iostream>
using namespace std;

int main() {
    cout << " Eu sunt Terminator,"<<endl;
    cout << " Sunt un virus foarte renumit."<<endl;
    cout << " Temeti-va!! "<<endl;
return 0;
}

Este important de stiut ca toate datele se scurg dinspre dreapta spre stanga, deci daca ar fi sa parcurgem acest program am obtine urmatorii pasi:
1. Afiseaza mesajul "Eu sunt Terminator."
2. Afiseaza caracterul linie noua.
3. Afiseaza mesajul "Sunt un virus foarte renumit."
4. Afiseaza caracterul linie noua.
5. Afiseaza mesajul " Temeti-va!! ".
6. Afiseaza caracterul linie noua.
Astfel la consola vom obtine rezultatul dorit:
 Eu sunt Terminator.
 Sunt un virus foarte renumit.
 Temeti-va!!

Mai putem folosi si un caracter Escape pentru a afisa propozitiile pe o linie noua.
Este echivalentul lui endl si se noteaza "\n". Partea buna este ca acest caracter escape trebuie introdus in textul dintre ghilimele si nu va fi afisat ci va fi interpretat ca un caracter linie noua iar asta ne va reduce volumul de instructiuni ce trebuie scrie pentru a afisa un text.
Iata programul revizuit:

#include <iostream>
using namespace std;

int main() {
    cout << " Eu sunt Terminator,\n Sunt un virus foarte renumit.\n Temeti-va!!";
return 0;
}

Dupa cum am spus, va avea acelasi efect ca si programul in care am folosit endl, doar ca de data asta am obtinut un numar redus de linii de cod.

 Eu sunt Terminator.
 Sunt un virus foarte renumit.
 Temeti-va!!

Niciun comentariu:

Trimiteți un comentariu