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 operandAmé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" | ./calcVé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
- Construire une calculatrice CLI simple
- Lire et écrire des fichiers CSV
- Un jeu de devinettes numériques
- Un compteur de fréquences des mots