0Pricing
C++ Academy · Leçon

Construire une calculatrice CLI simple

Construire une calculatrice en ligne de commande qui analyse les opérateurs et évalue les expressions

Construire une calculatrice CLI simple est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.

Objectif du projet

Construisez une calculatrice en ligne de commande qui lit une expression comme 3 + 4 et affiche le résultat. Nous la garderons minimale, mais bien structurée.

En-têtes requis

Nous avons besoin de iostream pour les entrées-sorties et de string pour l'entrée.

#include <iostream>
#include <string>
#include <sstream>

Structure de la boucle principale

Lisez une ligne, analysez-la, calculez, puis affichez. Quittez à EOF.

int main() {
    std::string line;
    while (std::getline(std::cin, line)) {
        if (line == "quit") break;
        double result = evaluate(line);
        std::cout << "= " << result << "\n";
    }
}

Analyse avec stringstream

Pour deux opérandes et un opérateur, la décomposition en jetons avec stringstream est simple et robuste.

double evaluate(const std::string& line) {
    std::stringstream ss(line);
    double a, b;
    char op;
    ss >> a >> op >> b;
    return apply(op, a, b);
}

Appliquer l'opérateur

Une instruction switch sur le caractère de l'opérateur.

double apply(char op, double a, double b) {
    switch (op) {
        case '+': return a + b;
        case '-': return a - b;
        case '*': return a * b;
        case '/': return b != 0 ? a / b : 0;
        default:  return 0;
    }
}

Gestion des erreurs

Que se passe-t-il si l'utilisateur saisit quelque chose d'invalide ? Vérifiez l'état du flux et affichez un message compréhensible.

if (!(ss >> a >> op >> b)) {
    std::cout << "Invalid input\n";
    return 0;
}

Division par zéro

Gérez explicitement la division par zéro. Affichez une erreur ou lancez une exception, selon ce qui correspond à votre conception.

if (op == '/' && b == 0) {
    throw std::runtime_error("division by zero");
}

Ajouter d'autres opérateurs

Étendez l'instruction switch pour prendre en charge davantage d'opérations : %, ^ pour la puissance ou des fonctions nommées comme sqrt.

Conserver l'état

Vous voulez conserver un total cumulé ? Stockez le dernier résultat et permettez à l'utilisateur de commencer une expression par +.

double last = 0;
// if first token is an operator, use `last` as the first operand

Améliorer l'expérience utilisateur

Affichez une invite avant chaque entrée, acceptez quit ou EOF pour quitter et ignorez les lignes vides.

Au-delà de deux opérandes

Pour des expressions à plusieurs opérandes comme 3 + 4 * 2, vous avez besoin d'un analyseur d'expressions. L'algorithme de triage est l'approche standard.

Tester la calculatrice

Redirigez l'entrée depuis un fichier pour effectuer une vérification rapide.

echo "3 + 4\n10 / 2" | ./calc

Vérification rapide

Quelle fonctionnalité de la bibliothèque standard est pratique pour analyser des jetons séparés par des espaces comme 3 + 4 ?

Récapitulatif

Une petite calculatrice CLI illustre les entrées-sorties, l'analyse avec stringstream et la sélection pilotée par switch. Étendez-la avec la gestion des erreurs, davantage d'opérateurs, la conservation de l'état et, à terme, un analyseur d'expressions.

Questions Fréquemment Posées

La leçon « Construire une calculatrice CLI simple » est-elle gratuite ?

Oui — le texte complet de « Construire une calculatrice CLI simple » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Construire une calculatrice CLI simple » ?

Construire une calculatrice en ligne de commande qui analyse les opérateurs et évalue les expressions Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C++ Academy ?

Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Construire une calculatrice CLI simple » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?

Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Construire une calculatrice CLI simple
  2. Lire et écrire des fichiers CSV
  3. Un jeu de devinettes numériques
  4. Un compteur de fréquences des mots
← Retour à C++ Academy