Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CalculatorPHP 2000

Description

Ce projet est une calculatrice en ligne de commande (CLI) qui permet d’évaluer des expressions mathématiques simples ou complexes, soit directement depuis l’entrée standard (STDIN), soit via un fichier contenant des expressions.
Le projet gère les priorités opératoires et inclut une gestion avancée des erreurs, comme la division par zéro ou les expressions invalides.

Fonctionnalités

  • Calcul d’expressions mathématiques : Évalue les expressions contenant +, -, *, /, avec gestion des priorités et des parenthèses.
  • Support des fichiers : Permet de traiter un fichier contenant plusieurs expressions ligne par ligne.
  • Entrée directe depuis la ligne de commande : Possibilité de passer une expression ou un fichier en argument lors de l’exécution.
  • Mode interactif : Permet d’entrer les expressions dynamiquement.
  • Gestion des erreurs : Détecte et gère les erreurs comme la division par zéro ou les arguments invalides.
  • Test unitaire : Inclut une suite de tests unitaires pour valider les opérations mathématiques de base et avancées.

Installation

Prérequis

PHP version 7.4 ou ultérieure
Un terminal ou une console pour exécuter le script

Cloner le projet

Clonez le projet sur votre machine locale :

Structure du projet

CalculatorPHP/
├── classes/
│ ├──operation/
│ │ └── Addition.php
│ │ └── Cosinus.php
│ │ └── Division.php
│ │ └── Multiplication.php
│ │ └── Sinus.php
│ │ └── Soustraction.php
│ │ └── Tangente.php
│ ├── parser/
│ │ └── Parser.php # Classe pour évaluer les expressions
│ ├── readerFile/
│ │ └── ProcessFile.php # Classe pour traiter les fichiers d’expressions
├── includes/
├── Test/ # Dossier contenant les fichiers de tests
├── index.php # Point d’entrée principal
├── README.md # Documentation du projet

Utilisation

Exécuter une expression directement depuis la ligne de commande.

Pour évaluer une expression, utilisez la commande suivante : php index.php “2+2”

Traiter un fichier contenant des expressions

Créez un fichier texte avec une expression par ligne, comme Test/test.txt :

3 + 5
10 / 2
(2 + 3) * 4

Puis exécutez le script avec le chemin du fichier comme argument : php index.php Test/test.txt

Exemple de sortie :
Processing results for file ‘Test/test.txt’:
Result for ‘3 + 5’: 8
Result for ‘10 / 2’: 5
Result for ‘(2 + 3) * 4’: 20

Mode interactif

Lancez le script sans argument pour passer en mode interactif : php index.php

Exemple :

  • Enter an expression or file path (or ‘exit’ to quit): 2 + 2
    Result: 4
  • Enter an expression or file path (or ‘exit’ to quit): exit
    Exiting calculator.

Gestion des erreurs

Le programme gère plusieurs types d’erreurs :

  • Division par zéro : Affiche un message d’erreur clair.
  • Argument invalide : Détecte les expressions mal formées.
  • Fichier inexistant : Vérifie si le fichier spécifié existe.

✅ Tests unitaires

Le projet inclut une suite de tests unitaires pour valider les opérations mathématiques de base et avancées.

Prérequis

Assurez-vous d’avoir Composer installé.

Installation de PHPUnit

composer require --dev phpunit/phpunit

Lancement des tests

./vendor/bin/phpunit Test/OperationTest.php

Auteurs

Nom : MARTHELY Davy

GitHub : Dxvy

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages