⚙️ C++

Opérations arithmétiques en C++

Voici la traduction en français de l'article, en respectant toutes les règles :

Qu'est-ce que c'est et pourquoi ?

Imagine que tu es caissier dans un magasin. Des clients arrivent, tu additionnes les prix des articles, tu soustrais les réductions, tu multiplies la quantité par le coût, tu divises le total entre amis. Tout cela, ce sont des opérations arithmétiques. En programmation, elles fonctionnent exactement de la même manière : l'ordinateur sait additionner, soustraire, multiplier et diviser des nombres. Sans cela, tu ne pourras écrire ni une calculatrice, ni un jeu, ni un programme de calcul de salaire.

Pourquoi faut-il le savoir ? Même si tu veux créer un programme simple qui demande l'âge à l'utilisateur et lui dit dans combien d'années il sera à la retraite, tu auras besoin d'une soustraction. Tu veux calculer combien de pizzas il faut pour une fête ? Il faut une division. Et si tu écris un jeu où un personnage se déplace, ce ne sont que des additions et soustractions de coordonnées. Bref, l'arithmétique est la base, indispensable.

Syntaxe et exemples de code

En C++, les opérations arithmétiques ressemblent presque à celles des mathématiques. Voici les signes principaux :

  • + — addition
  • - — soustraction
  • * — multiplication (astérisque, pas une croix)
  • / — division (slash)
  • % — reste de la division (par exemple, 7 % 3 = 1, car 7 divisé par 3 donne un reste de 1)

Regardons des exemples. On écrit le code à l'intérieur de main(), et on affiche les résultats à l'écran avec cout.

#include <iostream>
using namespace std;

int main() {
    // Exemple 1 : Addition
    int a = 10;
    int b = 5;
    int sum = a + b;  // on additionne a et b, on met le résultat dans sum
    cout << "Somme : " << sum << endl;  // affichera : Somme : 15

    // Exemple 2 : Soustraction
    int diff = a - b;  // on soustrait b de a
    cout << "Différence : " << diff << endl;  // affichera : Différence : 5

    // Exemple 3 : Multiplication
    int prod = a * b;  // on multiplie a par b
    cout << "Produit : " << prod << endl;  // affichera : Produit : 50

    // Exemple 4 : Division
    int quot = a / b;  // on divise a par b
    cout << "Quotient : " << quot << endl;  // affichera : Quotient : 2
    // Attention : si les nombres sont entiers, le résultat est aussi entier ! 10 / 3 = 3, pas 3.333

    // Exemple 5 : Reste de la division
    int rem = 10 % 3;  // on divise 10 par 3, reste 1
    cout << "Reste : " << rem << endl;  // affichera : Reste : 1

    return 0;
}

Remarque : dans l'exemple 4, nous avons divisé 10 par 5 et obtenu 2. Mais si nous avions divisé 10 par 3, nous aurions obtenu 3, pas 3.333. Parce que int représente des nombres entiers, la partie fractionnaire est tronquée. Pour obtenir un résultat fractionnaire, il faut utiliser double (nombres à virgule).

#include <iostream>
using namespace std;

int main() {
    // Exemple avec des nombres fractionnaires
    double x = 10.0;
    double y = 3.0;
    double result = x / y;  // maintenant la division sera précise
    cout << "Résultat : " << result << endl;  // affichera : Résultat : 3.33333

    // On peut mélanger entiers et fractionnaires
    int apples = 7;
    double price = 2.5;
    double total = apples * price;  // 7 * 2.5 = 17.5
    cout << "Coût total : " << total << endl;

    return 0;
}

Un autre point important : l'ordre des opérations. Comme en mathématiques, la multiplication et la division sont prioritaires sur l'addition et la soustraction. Si tu veux changer l'ordre, utilise des parenthèses.

#include <iostream>
using namespace std;

int main() {
    int a = 2;
    int b = 3;
    int c = 4;

    // Sans parenthèses : d'abord multiplication, puis addition
    int res1 = a + b * c;  // 2 + 12 = 14
    cout << "Sans parenthèses : " << res1 << endl;

    // Avec parenthèses : d'abord addition, puis multiplication
    int res2 = (a + b) * c;  // 5 * 4 = 20
    cout << "Avec parenthèses : " << res2 << endl;

    return 0;
}

Comparaison avec Python

Si tu as déjà essayé Python, tu remarqueras que l'arithmétique y est très similaire. Mais il y a quelques différences.

En Python :

  • Mêmes opérations : addition +, soustraction -, multiplication *, division /.
  • Mais la division en Python donne toujours un résultat fractionnaire ! 10 / 3 donnera 3.3333, même si les nombres sont entiers.
  • Pour obtenir une division entière (comme en C++), il faut écrire // (deux slashes). Par exemple, 10 // 3 donnera 3.
  • Le reste de la division est aussi %, comme en C++.

Voici à quoi ressemble le même code en Python :

# Python
a = 10
b = 3

# Division normale — fractionnaire
print(a / b)  # 3.3333333333333335

# Division entière (comme en C++)
print(a // b)  # 3

# Reste
print(a % b)  # 1

# Tout le reste est pareil
print(a + b)  # 13
print(a - b)  # 7
print(a * b)  # 30

La principale différence : en C++, il faut déclarer le type de la variable à l'avance (int ou double), alors qu'en Python les types sont déduits automatiquement. Mais en C++, c'est toi qui décides si tu veux un nombre entier ou fractionnaire — cela donne plus de contrôle.

Erreurs typiques des débutants

Voici ce qui coince le plus souvent chez ceux qui commencent :

  1. Oublier le point-virgule — en C++, chaque instruction se termine par ;. S'il manque, le compilateur râle.
  2. Confondre = et == — = est l'affectation (mettre une valeur), et == est la comparaison (est-ce égal ?). En arithmétique, on utilise seulement =.
  3. Diviser des entiers et attendre un résultat fractionnaire — si les deux nombres sont des int, le résultat sera aussi un int. Si tu veux un résultat fractionnaire, fais en sorte qu'au moins un nombre soit un double.
  4. Oublier l'ordre des opérations — 2 + 3 * 4 donne 14, pas 20. Utilise des parenthèses si tu as un doute.
  5. Diviser par zéro — on ne peut pas diviser par zéro ! Le programme plantera avec une erreur. Vérifie toujours que le diviseur n'est pas nul.