Come creare una calcolatrice con Dev C++

tramite: O2O
Difficoltà: media
111

Introduzione

Dev C++ rappresenta un IDE completamente gratuito, distribuito e messo a disposizione dell'utente sotto Licenza GNU per la programmazione in linguaggio C e C++. Per IDE si intende un ambiente di sviluppo integrato, acronimo dell'inglese "Integrated Development Environment", che ha la finalità di aiutare gli sviluppatori all'elaborazione dello sviluppo del codice sorgente di un programma. Prima di tutto è necessario effettuare alcune importanti premesse riguardo la funzionalità di questi due linguaggi di programmazione. Precisamente, il linguaggio C è essenzialmente ad elevato livello, ed integra funzionalità di altri linguaggi a basso livello, come possono essere il linguaggio macchina e il famosissimo Assembly. Il C è un linguaggio di programmazione che, al giorno d'oggi, riveste ancora la sua importanza ma che ha leggermente lasciato spazio ad altri programmi, quali il Java ed il C++. Parlando di quest'ultimo, invece, possiamo affermare che rientra nella cosiddetta categoria dei linguaggi di programmazione orientati ad oggetti, in cui si intende un paradigma in grado di definire degli strumenti (appunto degli oggetti) software che possono interagire tra di loro. Ma non ci addentriamo eccessivamente nelle caratteristiche del C e del C++, parlando esclusivamente del Dev C++. Questo software è disponibile sia per la piattaforma / Sistema Operativo Microsoft Windows, che per Linux. La principale caratteristica di questo ambiente, che lo rende abbastanza flessibile ed assai potente, è la possibilità di poter aggiungere varie estensioni sull'IDE di programmazione tramite i cosiddetti DevPaks, i quali contengono delle librerie addizionali, vari template e strumenti GUI. A questo punto possiamo procedere ad analizzare e vedere come è possibile creare la propria "Calcolatrice" con Dev C++ e passare all'atto pratico di questa guida. Il tutto potrà risultare sicuramente complicato per chi non conosce alcuni termini di programmazione e non sa nemmeno cosa sia. Pertanto questo tutorial è prevalentemente consigliato a chi sa un po' programmare con qualche linguaggio di programmazione.

211

Occorrente

  • Conoscenza di base su funzioni C
  • Dev C++
311

Per poter realizzare la propria "Calcolatrice", innanzitutto sarà necessario realizzare un nuovo progetto. Pertanto una volta avviato l'ambiente Dev C++, occorre selezionare l'opzione "Nuovo Progetto" dalla dicitura di menu "File" (posizionata in alto), e successivamente ci verrà presentata una schermata contenente differenti tipologie di progetto. All'interno di quest'ultima occorre andare a selezionare il tipo "Console Application", e per concludere, nella parte inferiore della finestra, più precisamente della sezione "Project Option" si deve andare a digitare il nome del proprio progetto. Un nome del progetto, ad esempio, può essere "Calcolatrice". Il prossimo passo consiste nell'andare a selezionare la dicitura "C Project", in modo tale da poter specificare sia il linguaggio che il compilatore che verrà utilizzato per l'intero progetto desiderato.

411

Una volta che è stata portata a termine la realizzazione del progetto, sarà possibile cominciare con la vera e propria stesura del proprio programma. A tal fine si andrà, pertanto, ad editare il file main. C presente all'interno del proprio nuovo progetto "Calcolatrice". Prima di tutto, la propria calcolatrice dovrà essere in grado di svolgere le 4 principali operazioni matematiche (ossia l'addizione, la sottrazione, la divisione e la moltiplicazione), e per ottenere questo si devono andare a dichiarare i prototipi di funzione come segue:
// Dichiarazione dei prototipi di funzione
int somma (int, int);
int sottrai (int, int);
int moltiplica (int, int);
int dividi (int, int);

Pertanto il file main. C avrà il seguente aspetto:
#include
#include

// Dichiarazione dei prototipi di funzione
int somma (int, int);
int sottrai (int, int);
int moltiplica (int, int);
int dividi (int, int);
int main ()
{
return 0;
}.

Continua la lettura
511

Una volta che sono stati dichiarati i prototipi di funzione, sarà fondamentale andare ad editare il corpo delle 4 funzioni matematiche, ossia quelle che svolgeranno i calcoli veri e propri di addizione, di sottrazione, di divisione e di moltiplicazione. Sempre all'interno del proprio file main. C, si andranno pertanto ad aggiungere le funzioni come segue:
// Dichiarazione del corpo funzione effettua la somma
int somma (int addendo_a, int addendo_b) {
return (addendo_a + addendo_b);
}
// Dichiarazione del corpo funzione effettua la sottrazione
int sottrai (int addendo_a, int addendo_b) {
return (addendo_a - addendo_b);
}
// Dichiarazione del corpo funzione effettua la moltiplicazione
int moltiplica (int addendo_a, int addendo_b) {
return (addendo_a * addendo_b);
}
// Dichiarazione del corpo funzione effettua la divisione
int dividi (int addendo_a, int addendo_b) {
return (addendo_a / addendo_b);
}

Pertanto, il file main. C avrà il seguente aspetto:
#include
#include
// Dichiarazione dei prototipi di funzione
int somma (int, int);
int sottrai (int, int);
int moltiplica (int, int);
int dividi (int, int);
// Dichiarazione del corpo funzione effettua la somma
int somma (int addendo_a, int addendo_b) {
return (addendo_a + addendo_b);
}
// Dichiarazione del corpo funzione effettua la sottrazione
int sottrai (int addendo_a, int addendo_b) {
return (addendo_a - addendo_b);
}
// Dichiarazione del corpo funzione effettua la moltiplicazione
int moltiplica (int addendo_a, int addendo_b) {
return (addendo_a * addendo_b);
}
// Dichiarazione del corpo funzione effettua la divisione
int dividi (int addendo_a, int addendo_b) {
return (addendo_a / addendo_b);
}
int main ()
{
return 0;
}.

611

A questo punto, si può tranquillamente affermare che la propria calcolatrice è già in grado di effettuare le 4 operazioni matematiche fondamentali, e non ci rimane altro da fare che richiamare una o più funzioni appena implementate. Per fare tutto questo si deve andare ad editare il proprio file main. C come segue:
somma (2,5);
sottrai (7,5);
moltiplica (7,5);
dividi (32,4);
Pertanto il file main. C deve presentare il seguente aspetto:
#include
#include
// Dichiarazione dei prototipi di funzione
int somma (int, int);
int sottrai (int, int);
int moltiplica (int, int);
int dividi (int, int);
// Dichiarazione del corpo funzione effettua la somma
int somma (int addendo_a, int addendo_b) {
return (addendo_a + addendo_b);
}
// Dichiarazione del corpo funzione effettua la sottrazione
int sottrai (int addendo_a, int addendo_b) {
return (addendo_a - addendo_b);
}
// Dichiarazione del corpo funzione effettua la moltiplicazione

int moltiplica (int addendo_a, int addendo_b) {
return (addendo_a * addendo_b);
}
// Dichiarazione del corpo funzione effettua la divisione

int dividi (int addendo_a, int addendo_b) {
return (addendo_a / addendo_b);
}
int main ()
{
// Chiamata alle 4 funzioni matematiche
somma (2,5);
sottrai (7,5);
moltiplica (7,5);
dividi (32,4);
return 0;
}.

711

Successivamente, nel caso in cui venisse avviato il programma in questione, non si avrà la possibilità di visualizzare alcun risultato delle quattro operazioni appena richiamate, per il semplice fatto che non è stata implementata, oppure dichiarata, alcuna direttiva di stampa a video. Per fare questa operazione, quindi, si dovrò andare ad editare il proprio file main. C come segue:
// Dichiarazione dei prototipi di funzione
void stampa (int);
// Dichiarazione del corpo funzione effettua la stampa a video del risultato dell'operazione
void stampa (int valore) {
// La variabile valore passata alla funzione verrà stampata a video
printf ("%d\n", valore);
}
// Chiamata alle 4 funzioni matematiche
// La funzione somma restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (somma (2,5));
// La funzione sottrai restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (sottrai (7,5));
// La funzione moltiplica restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (moltiplica (7,5));
// La funzione dividi restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (dividi (32,4));

Pertanto il file main. C deve presentare il seguente aspetto:
#include
#include
// Dichiarazione dei prototipi di funzione
int somma (int, int);
int sottrai (int, int);
int moltiplica (int, int);
int dividi (int, int);
void stampa (int);
// Dichiarazione del corpo funzione effettua la somma
int somma (int addendo_a, int addendo_b) {
return (addendo_a + addendo_b);
}
// Dichiarazione del corpo funzione effettua la sottrazione
int sottrai (int addendo_a, int addendo_b) {
return (addendo_a - addendo_b);
}
// Dichiarazione del corpo funzione effettua la moltiplicazione
int moltiplica (int addendo_a, int addendo_b) {
return (addendo_a * addendo_b);
}
// Dichiarazione del corpo funzione effettua la divisione
int dividi (int addendo_a, int addendo_b) {
return (addendo_a / addendo_b);
}
// Dichiarazione del corpo funzione effettua la stampa a video del risultato dell'operazione
void stampa (int valore) {
// La variabile valore passata alla funzione verrà stampata a video
printf ("%d\n", valore);
}
int main ()
{
// Chiamata alle 4 funzioni matematiche
// La funzione somma restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (somma (2,5));
// La funzione sottrai restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (sottrai (7,5));
// La funzione moltiplica restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (moltiplica (7,5));
// La funzione dividi restituisce il valore dell'operazione e passata alla funzione stampa per essere stampata a video
stampa (dividi (32,4));
return 0;
}.

811

Diciamo, a questo punto, che ogni singola operazione svolta nell'attuale situazione può essere considerata fine a se stessa, nel senso che il valore ritornato da ogni singola operazione (addizione, sottrazione, divisione e moltiplicazione) è consistente per l'operazione svolta. Nel caso in cui si volesse ottenere un risultato consistente all'interno di un gruppo di operazioni, si deve andare ad editare il proprio file main. C come segue:
// Dichiarazione della variabile (res) utilizzata per ottenere un risultato consistente durante l'esecuzione di più operazioni
int res = 0;
// La funzione somma restituisce il valore dell'operazione lo memorizza nella variabile (res) e lo passa alla funzione stampa per essere stampata a video
res=somma (2,5);
stampa (res);
// La funzione sottrai restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=sottrai (res,5);
stampa (res);
// La funzione moltiplica restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=moltiplica (res,5);
stampa (res);
// La funzione dividi restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=dividi (res,4);
stampa (res);
Pertanto il file main. C deve presentare il seguente aspetto:
#include
#include
// Dichiarazione dei prototipi di funzione
int somma (int, int);
int sottrai (int, int);
int moltiplica (int, int);
int dividi (int, int);
void stampa (int);
// Dichiarazione del corpo funzione effettua la somma
int somma (int addendo_a, int addendo_b) {
return (addendo_a + addendo_b);
}
// Dichiarazione del corpo funzione effettua la sottrazione
int sottrai (int addendo_a, int addendo_b) {
return (addendo_a - addendo_b);
}
// Dichiarazione del corpo funzione effettua la moltiplicazione
int moltiplica (int addendo_a, int addendo_b) {
return (addendo_a * addendo_b);
}
// Dichiarazione del corpo funzione effettua la divisione
int dividi (int addendo_a, int addendo_b) {
return (addendo_a / addendo_b);
}
// Dichiarazione del corpo funzione effettua la stampa a video del risultato dell'operazione
void stampa (int valore) {
// La variabile valore passata alla funzione verrà stampata a video
printf ("%d\n", valore);
}
int main ()
{
// Dichiarazione della variabile (res) utilizzata per ottenere un risultato consistente durante l'esecuzione di più operazioni
int res = 0;

// Chiamata alle 4 funzioni matematiche

// La funzione somma restituisce il valore dell'operazione lo memorizza nella variabile (res) e lo passa alla funzione stampa per essere stampata a video
res=somma (2,5);
stampa (res);
// La funzione sottrai restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=sottrai (res,5);
stampa (res);
// La funzione moltiplica restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=moltiplica (res,5);
stampa (res);
// La funzione dividi restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=dividi (res,4);
stampa (res);
return 0;
}.

911

A questo punto, per poter rendere più funzionale la propria calcolatrice è necessario avere a disposizione un menu tramite il quale poter stabilire l'operazione che si ha l'intenzione di intraprendere (addizione, sottrazione, divisione e moltiplicazione). Per fare questo, si può andare ad editare il proprio file main. C come segue:
// Dichiarazione della varibile per la gestione delle scelte di menu
int i;
// Dichiarazione delle varibili per la gestione dei valori delle operazioni
int addendo_b;
// Ciclo per avere la possibilità di scelta dell'operazione da compiere
while (1) {
printf ("\n1: Somma\n2: Sottrai\n3: Moltiplica\n4: Dividi\n0: Esci\n");
scanf ("%d",&i);
switch (i){
case 1:
printf ("Inserire numero da sommare: ");
scanf ("%d",&addendo_b);
// La funzione somma restituisce il valore dell'operazione lo memorizza nella variabile (res) e lo passa alla funzione stampa per essere stampata a video
res=somma (res, addendo_b);
stampa (res);
break;
case 2:
printf ("Inserire numero da sottrarre: ");
scanf ("%d",&addendo_b);
// La funzione sottrai restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=sottrai (res, addendo_b);
stampa (res);
break;
case 3:
printf ("Inserire numero da moltiplicare: ");
scanf ("%d",&addendo_b);

// La funzione sottrai restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=moltiplica (res, addendo_b);
stampa (res);
break;
case 4:
printf ("Inserire numero da dividere: ");
scanf ("%d",&addendo_b);
// La funzione sottrai restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=dividi (res, addendo_b);
stampa (res);
break;
case 0:
exit (0);
break;
}
}
quindi il file main. C avrà il seguente aspetto:
#include
#include
// Dichiarazione dei prototipi di funzione
int somma (int, int);
int sottrai (int, int);
int moltiplica (int, int);
int dividi (int, int);
void stampa (int);
// Dichiarazione del corpo funzione effettua la somma
int somma (int addendo_a, int addendo_b) {
return (addendo_a + addendo_b);
}

// Dichiarazione del corpo funzione effettua la sottrazione

int sottrai (int addendo_a, int addendo_b) {
return (addendo_a - addendo_b);
}
// Dichiarazione del corpo funzione effettua la moltiplicazione
int moltiplica (int addendo_a, int addendo_b) {
return (addendo_a * addendo_b);
}
// Dichiarazione del corpo funzione effettua la divisione
int dividi (int addendo_a, int addendo_b) {
return (addendo_a / addendo_b);
}
// Dichiarazione del corpo funzione effettua la stampa a video del risultato dell'operazione
void stampa (int valore) {
// La variabile valore passata alla funzione verrà stampata a video
printf ("%d\n", valore);
}
int main ()
{
// Dichiarazione della variabile (res) utilizzata per ottenere un risultato consistente durante l'esecuzione di più operazioni
int res = 0;

// Dichiarazione della varibile per la gestione delle scelte di menu
int i;
// Dichiarazione delle varibili per la gestione dei valori delle operazioni
int addendo_b;
// Ciclo per avere la possibilità di scelta dell'operazione da compiere
while (1) {
printf ("\n1: Somma\n2: Sottrai\n3: Moltiplica\n4: Dividi\n0: Esci\n");
scanf ("%d",&i);
switch (i){
case 1:
printf ("Inserire numero da sommare: ");
scanf ("%d",&addendo_b);
// La funzione somma restituisce il valore dell'operazione lo memorizza nella variabile (res) e lo passa alla funzione stampa per essere stampata a video
res=somma (res, addendo_b);
stampa (res);
break;
case 2:
printf ("Inserire numero da sottrarre: ");
scanf ("%d",&addendo_b);

// La funzione sottrai restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=sottrai (res, addendo_b);
stampa (res);
break;
case 3:
printf ("Inserire numero da moltiplicare: ");
scanf ("%d",&addendo_b);
// La funzione moltiplica restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=moltiplica (res, addendo_b);
stampa (res);
break;
case 4:
printf ("Inserire numero da dividere: ");
scanf ("%d",&addendo_b);
// La funzione dividi restituisce il valore dell'operazione sul valore ricavato dalla precedente operazione matematica e passa lo funzione stampa per essere stampata a video
res=dividi (res, addendo_b);
stampa (res);
break;
case 0:
exit (0);
break;
}
}
return 0;
}.

1011

A questo punto, possiamo fornirvi il link https://sourceforge.net/projects/orwelldevcpp/ in cui è possibile scaricare questo ambiente di lavoro. O meglio, è uno dei tanti siti internet in cui si può procedere al download di Dev C++. Altre informazioni su quest'ultimo è che si tratta di un IDE scritto in linguaggio Delphi, il cui progetto gratuito è sponsorizzato da Sourceforge. Net. Finalmente siamo giunti alla conclusione della costruzione di una calcolatrice tramite l'IDE di sviluppo DEV-C++. A questo punto non vi rimane altro da fare che andare a selezionare l'opzione Compile & Run, presente nella voce di menu Execute, per poi testare la propria calcolatrice. Così facendo, infatti, si potrà vedere se funziona tutto quanto per il verso giusto. Ovviamente questa guida è indirizzata a chi ha un buona dimestichezza con gli strumenti informatici, o meglio ancora, a chi presenta delle basi solidi a livello di programmazione. Infatti, abbiamo utilizzato una terminologia che può risultare sicuramente complicata con chi non ha competenze in ambito di linguaggi di programmazione. Si tratta, pertanto, di avere delle conoscenze di ambienti informatici di elevata programmazione, in cui è fondamentale avere una conoscenza di base dei linguaggi C e C++. Infatti, una volta conosciuta la sintassi di questi due rinomati linguaggi di programmazione, è più facile non incorrere in errori e realizzare il proprio programma in modo ottimale. Ad esempio, la sintassi indicata con "//" si riferisce alla parte del programma in cui vengono commentati i vari "blocchi" di codice, ed è fondamentale per tenere bene a mente quello che si sta svolgendo. Per il resto, vi consigliamo l'utilizzo di un buon manuale di programmazione che tratta l'ambiente Dev C++, in grado di poter affinare le proprie abilità tecniche. Sappiamo benissimo che errori, apparentemente banali, riguardanti l'utilizzo dei punti e delle virgole alla fine di ciascun comando di ogni riga è importantissimo. Come risultato, pertanto, in caso di errori di questo genere il compilatore segnalerà dei messaggi di errore. A livello di sintassi, pertanto, vi diciamo che ci sono poche possibilità di scelta, ed il codice di base rimane quello che vi abbiamo mostrato in questa guida. A questo punto, sperando di esser stati sufficientemente chiari nell'esposizione di questa guida informatica, non ci rimane altro da fare che augurarvi buon lavoro con questo ambiente utile ed affascinate da utilizzare. Sono, infatti, molte le applicazioni che possono essere svolte con questo ambiente di programmazione, ma in questo contesto ci siamo concentrati sull'elaborazione di una semplice ma utilissima calcolatrice.

1111

Consigli

Non dimenticare mai:
  • Attenzione ai punti e virgola alla fine dei comandi ad ogni riga, altrimenti il compilatore vi darà errore

Potrebbe interessarti anche

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Windows

Come utilizzare il comando sottrai con Autocad 2010

Come certamente saprai, Autocad 2010 è un software utilizzato da molti progettisti, ingegneri, ed architetti. Il programma risulta essere uno dei più famosi in ambito di progettazione. In questa guida ti mostrerò come utilizzare il comando sottrai....
Windows

Imparare ad utilizzare Visual C++

Il linguaggio C nasce negli anni settanta come linguaggio di sviluppo e da allora ha subito diverse modifiche ed evoluzioni, tra cui il C++ (si legge “C plus plus” o “c più più”).Vediamo alcune caratteristiche basilari. Innanzitutto è un linguaggio...
Programmazione

Come generare numeri casuali in Javascript

Javascript è comunemente utilizzato per la programmazione Web, per la creazione di siti internet e applicazioni web, e ha la caratteristica di poter generare degli effetti interattivi, dinamici ad impatto, molto accattivanti, in qualsiasi pagina web...
Programmazione

Come Scrivere Su Schermo In Linguaggio C

Il linguaggio C è un linguaggio di programmazione classificabile come 'general purpose', nel senso che non è specifico per applicazioni particolari (gestionali, scientifiche, ludiche, ecc.), ma risulta adatto per la maggior parte delle esigenze informatiche....
Internet

Come Tenere Traccia Delle Cose Prestate con Return My Pants

Non riuscite mai a ricordarvi a quale, tra tutti gli amici, avete prestato una vostra cosa? Allora questa guida fa proprio al caso vostro! Iniziate subito a leggere perché, grazie a un sito web intitolato "Return my Pants", riuscirete a tenere traccia...
Programmazione

Come ordinare una LinkedList di stringhe

Una delle operazioni più richieste, nell'utilizzo di una vasta collezione di dati, è di fornire una loro rappresentazione chiara ed ordinata, specie quando si ha da manipolare delle stringhe. L'utente, generalmente, preferisce utilizzare dati che seguano...
Programmazione

Programma c++ per risolvere equazioni di secondo grado

Il linguaggio di programmazione C++ è stato inventato da Bjarne Stroustrup sulla base di quello C, sviluppato, invece, da Dennis Ritchie. Esso presenta un'ampia gamma di funzionalità e si presta benissimo a diverse applicazioni, come la risoluzione...
Software

Photoshop: come creare una sequenza in pellicola

Adobe Photoshop è un software specializzato nel ritocco di immagini digitali. È un programma molto famoso e utilizzato anche dalle persone meno esperte per quanto riguarda il campo della fotografia digitale. Tuttavia le possibilità che offre Photoshop...
I presenti contributi sono stati redatti dagli autori ivi menzionati a solo scopo informativo tramite l’utilizzo della piattaforma www.o2o.it e possono essere modificati dagli stessi in qualsiasi momento. Il sito web, www.o2o.it e Arnoldo Mondadori Editore S.p.A. (già Banzai Media S.r.l. fusa per incorporazione in Arnoldo Mondadori Editore S.p.A.), non garantiscono la veridicità, correttezza e completezza di tali contributi e, pertanto, non si assumono alcuna responsabilità in merito all’utilizzo delle informazioni ivi riportate. Per maggiori informazioni leggi il “Disclaimer »”.