Programmation bas niveau (BNV) Help

Projet guidé : Calculatrice

Le principe du projet guidé

Un projet guidé est un projet dont les consignes vous aiguillent sur ce que vous avez à faire étape par étape. À la différence d'un projet classique où la consigne vous indique le rendu final attendu, mais ne vous détaille pas les différentes étapes de développement.

Les objectifs du projet

Ce projet va servir à réutiliser différentes notions que vous avez vues jusque-là :

  • les variables

  • les opérations mathématiques

  • les conditions et comparaisons

  • scanf et printf

Nous allons créer une calculatrice simple : qui pourra demander 3 choses à votre utilisateur-ice :

  • un opérateur mathématique

  • un premier nombre entier

  • un second nombre entier

Puis qui effectuera si c'est possible l'opération mathématique choisie entre les deux nombres.

Rendu attendu

calculatrice

Étape 0 : le repository GitHub

Sur votre compte GitHub créez un nouveau repository que vous appelerez coda-bnv-calculatrice.

Dans votre dossier /workspace créez un dossier projects puis clonez le repository coda-bnv-calculatrice dans le dossier projects.

Étape 1 : la fonction main et les include

Commencez par créer votre fichier main.c, dedans vous allez inclure les deux librairies que vous finissez par connaitre :

  • stdlib.h

  • stdio.h

puis déclarez une fonction main vide, qui retourne le code de fin 0.

Faites ensuite les commandes suivantes pour que Git sache qu'il doit surveiller votre fichier main.c:

git add main.c
git commit -m "etape 1 : ajout du main.c"
git push

Étape 2 : créer les variables

Nous savons que nous allons devoir stocker 2 nombres et un opérateur, nous allons donc déclarer des variables pour stocker ses informations.

Nos nombres seront des nombres entiers et notre opérateur sera un caractère.

Ensuite :

git add main.c
git commit -m "etape 2 : ajout des variables"
git push

Étape 3 : demander les infos à l'utilisateur-ice

Commencez par dire bonjour à votre utilisateur-ice c'est plus sympa 🙂.

Ensuite, demandez-lui de choisir un opérateur parmi la liste suivante :

  • +

  • -

  • *

  • /

  • %

Et n'oubliez pas de récupérer sa réponse.

Ensuite, demandez-lui de choisir un premier nombre et récupérez sa réponse. Faites la même chose avec le second nombre.

Ensuite :

git add main.c
git commit -m "etape 3 : recupérer les infos"
git push

Étape 4 : créer nos conditions

Vous allez ensuite créer une suite de condition qui vérifie la valeur de votre opérateur :

  • Si l'opérateur vaut +: faites un printf("addition\n");

  • Si l'opérateur vaut -: faites un printf("soustraction\n");

  • Si l'opérateur vaut *: faites un printf("multiplication\n");

  • Si l'opérateur vaut /: faites un printf("division\n");

  • Si l'opérateur vaut %: faites un printf("modulo\n");

  • S'il ne vaut rien de tout ça, précisez que l'opérateur n'est pas reconnu

Compilez votre programme :

gcc main.c -o calculatrice

et testez-le :

./calculatrice

Une fois que tout fonctionne :

git add main.c
git commit -m "etape 4 : créer les conditions"
git push

Étape 5 : effectuer l'opération

Maintenant votre calculatrice va devoir faire l'opération demandée par l'utilisateur-ice. Malheureusement comme toutes les operations mathématiques ne se comportent pas de la même façon, nous allons devoir créer des exceptions.

Étape 5.1 : l'addition

Pour l'addition, nous pouvons stocker le résultat dans un nombre entier. Déclarez donc une variable resultat dans votre condition qui stockera un nombre entier.

Mettez-y le résultat de l'opération nombre_1 + nombre_2.

Étape 5.2 : la soustraction

Pour la soustraction, nous pouvons stocker le résultat dans un nombre entier. Déclarez donc une variable resultat dans votre condition qui stockera un nombre entier.

Mettez-y le résultat de l'opération nombre_1 - nombre_2.

Étape 5.3 : la multiplication

Pour la multiplication, nous pouvons stocker le résultat dans un nombre entier. Déclarez donc une variable resultat dans votre condition qui stockera un nombre entier.

Mettez-y le résultat de l'opération nombre_1 * nombre_2.

Étape 5.4 : la division

Pour la division, nous ne pouvons pas stocker le résultat dans un nombre entier. Déclarez donc une variable resultat dans votre condition qui stockera un nombre décimal.

Mettez-y le résultat de l'opération nombre_1 / nombre_2.

Étape 5.5 : le modulo

Pour le modulo, nous pouvons stocker le résultat dans un nombre entier. Déclarez donc une variable resultat dans votre condition qui stockera un nombre entier.

Mettez-y le résultat de l'opération nombre_1 % nombre_2.

Une fois que vous avez terminé :

git add main.c
git commit -m "etape 5 : l'opération"
git push

Étape 6 : afficher le résultat

Dans chacune de vos conditions, vous allez afficher le résultat de votre opération.

Si votre résultat est un nombre entier, utilisez :

printf("%d %c %d = %d\n", nombre_1, operateur, nombre_2, resultat);

Si votre résultat est un nombre décimal, utilisez :

printf("%d %c %d = %.2f\n", nombre_1, operateur, nombre_2, resultat);

Compilez votre programme :

gcc main.c -o calculatrice

et testez-le :

./calculatrice

Une fois que tout fonctionne :

git add main.c
git commit -m "etape 6 : afficher le résultat"
git push
08 October 2025