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! 

 

Like?