Sari la conținut
LECȚIA 2.2 · INFORMATICĂ

Erorile frecvente în C++ și cum le eviți

Cele mai comune greșeli de compilare și de logică din lucrările de BAC.

Conținut verificat

Erori de COMPILARE (programul nu pornește)

1. Punct și virgulă lipsă. Fiecare instrucțiune se termină cu ;. Eroarea apare de regulă pe RÂNDUL URMĂTOR celui greșit.

2. Variabile nedeclarate sau scrise diferit. nr și Nr sunt variabile DIFERITE: C++ face diferența între litere mari și mici.

3. Acolade neînchise. Fiecare { are perechea ei }. Aliniază-le vizual ca să le verifici rapid.

4. Biblioteci lipsă. cin/cout cer #include <iostream> (+ using namespace std;), strlen cere <cstring>, sqrt cere <cmath>.

Erori de LOGICĂ (compilează, dar dă rezultate greșite)

1. = în loc de ==. if (x = 5) ATRIBUIE 5 lui x (condiția devine mereu adevărată); comparația corectă e if (x == 5).

2. Împărțirea întreagă. 5 / 2 dă 2, nu 2,5: la întregi, rezultatul e întreg. Pentru medie reală: (a + b) / 2.0.

3. Depășirea vectorului. La int v[10], indicii valizi sunt 0-9; v[10] e în afara vectorului (comportament imprevizibil, fără mesaj clar).

4. Bucla infinită. while (n != 0) fără modificarea lui n în corp nu se termină niciodată.

5. int prea mic. Pentru valori peste ~2 miliarde folosește long long (produsul a două int-uri mari depășește int).

Exemplu: găsește cele 3 erori

#include <iostream>
using namespace std;

int main() {
    int a = 5;
    if (a == 5)
        cout << "egal";
    else
        cout << "diferit";
    return 0;
}

Erorile: lipsă ; după int n; = în loc de == în if; lipsă ; după cout.

Greșeli frecvente

  1. Mesajul de eroare arată deseori rândul de DUPĂ greșeală: verifică și rândul anterior.
  2. 5/2 = 2 la întregi: adaugă .0 sau folosește float/double când vrei zecimale.
  3. Citirea cu cin >> s se oprește la spațiu: pentru texte cu spații folosește cin.getline.