Costruire una semplice calcolatrice CLI
Costruisca una calcolatrice a riga di comando che analizzi gli operatori e valuti le espressioni
Costruire una semplice calcolatrice CLI è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.
Obiettivo del progetto
Costruisca una calcolatrice a riga di comando che legga un'espressione come 3 + 4 e stampi il risultato. La manterremo minimale, ma ben strutturata.
Header necessari
Servono iostream per l'I/O e string per l'input.
#include <iostream>
#include <string>
#include <sstream>Struttura del ciclo principale
Legga una riga, la analizzi, calcoli il risultato e lo stampi. Esci alla fine del file.
int main() {
std::string line;
while (std::getline(std::cin, line)) {
if (line == "quit") break;
double result = evaluate(line);
std::cout << "= " << result << "\n";
}
}Analisi con stringstream
Per due operandi e un operatore, la tokenizzazione con stringstream è semplice e robusta.
double evaluate(const std::string& line) {
std::stringstream ss(line);
double a, b;
char op;
ss >> a >> op >> b;
return apply(op, a, b);
}Applicare l'operatore
Un'istruzione switch sul carattere dell'operatore.
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;
}
}Gestione degli errori
Che cosa succede se l'utente digita qualcosa di non valido? Controlli lo stato dello stream e mostri un messaggio comprensibile.
if (!(ss >> a >> op >> b)) {
std::cout << "Invalid input\n";
return 0;
}Divisione per zero
Gestisca esplicitamente la divisione per zero. Stampi un errore oppure generi un'eccezione, a seconda di ciò che si adatta meglio al progetto.
if (op == '/' && b == 0) {
throw std::runtime_error("division by zero");
}Aggiungere altri operatori
Estenda lo switch per supportare altre operazioni: %, ^ per l'elevamento a potenza o funzioni con nome come sqrt.
Mantenere lo stato
Desidera un totale progressivo? Memorizzi l'ultimo risultato e permetta all'utente di iniziare un'espressione con +.
double last = 0;
// if first token is an operator, use `last` as the first operandRifinire l'esperienza utente
Stampi un prompt prima di ogni input, accetti quit o la fine del file per uscire e ignori le righe vuote.
Oltre due operandi
Per espressioni con più operandi, come 3 + 4 * 2, serve un analizzatore di espressioni. L'algoritmo shunting-yard è l'approccio standard.
Testare la calcolatrice
Reindirizzi l'input da un file per eseguire rapidamente i test.
echo "3 + 4\n10 / 2" | ./calcVerifica rapida
Quale funzionalità della libreria standard è comoda per analizzare token separati da spazi, come 3 + 4?
Riepilogo
Una piccola calcolatrice CLI dimostra l'I/O, l'analisi con stringstream e la distribuzione guidata da switch. La estenda con la gestione degli errori, altri operatori, la gestione dello stato e, infine, un analizzatore di espressioni.
Domande Frequenti
La lezione «Costruire una semplice calcolatrice CLI» è gratuita?
Sì — il testo completo di «Costruire una semplice calcolatrice CLI» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.
Cosa imparerò in «Costruire una semplice calcolatrice CLI»?
Costruisca una calcolatrice a riga di comando che analizzi gli operatori e valuti le espressioni Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C++ Academy?
Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Costruire una semplice calcolatrice CLI»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C++ Academy?
Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Costruire una semplice calcolatrice CLI
- Lettura e scrittura di file CSV
- Un gioco di indovinare i numeri
- Un contatore della frequenza delle parole