C/C++ Come promesso, in questo quarto appuntamento, vedremo come realizzare una piccola “calcolatrice” in C++. Di fatto vedremo semplicemente come prendere in input due interi, come calcolare la loro somma che verrà salvata in un’apposita variabile e vi mostreremo infine come “stampare” a video il risultato. Ok, è un programma davvero semplice per chi conosce già il C++, ma per chi è alle prime armi può non risultare così banale. Per complicare un po’ le cose, vedremo una seconda versione dello stesso programma, che sfrutterà questa volta una funzione da noi creata per il calcolo della somma, funzione che poi potremo riutilizzare ogni volta che vorremo.

Ecco il codice del nostro piccolo programmino nella sua versione più semplice:

#include <iostream.h>
 
using namespace std;
 
int main()
{
    int x,y,somma; //Dichiariamo le tre variabili
    somma = 0; //Inizializziamo la variabile a 0
 
    cout << "Inserisci il primo addendo: ";
    cin >> x; //Prendiamo in input il valore di x
    cout << "Inserisci il secondo addendo: ";
    cin >> y; //Prendiamo in input il valore di y
    somma = x+y; //Effettuiamo la somma
    cout << "La somma tra i due numeri e\': " << somma << "\n";
 
    system("PAUSE"); //Questa istruzione è indispensabile in ambiente Dev-C++
    return 0;
}

Come potete vedere abbiamo commentato ogni linea di codice per maggiore chiarezza. Questa è una buona norma che tutti i programmatori dovrebbero seguire, non sottovalutate l’importanza dei commenti. Analizziamo ora il codice.
int x,y,somma; Con questa istruzione non facciamo altro che allocare spazio per le tre variabili che useremo per salvare i valori dei due addendi e la loro somma. Il tipo di queste variabili è di tipo int, ovvero il programma si aspetterà due valori interi e restituirà, di conseguenza, un risultato dello stesso tipo.

Potremmo costruire la nostra calcolatrice in grado di effettuare somme anche tra numeri decimali, in questo caso dovremmo sostuituire la parola chiave int, con la parola float o double.

(Se volete rinfrescarvi la memoria sui tipi di dato, date un’occhiata al nostro precedente articolo)

    cout << "Inserisci il primo addendo: ";
    cin >> x; //Prendiamo in input il valore di x
    cout << "Inserisci il secondo addendo: ";
    cin >> y; //Prendiamo in input il valore di y

Queste istruzioni permetto al programma di fare una richiesta all’utente, ovvero, tramite cout verrà visualizzato un messaggio sul monitor in cui chiediamo all’utente di inserire un intero e successivamente tramite cin prendiamo il rispettivo valore in input. (L’utente dovrà di fatto digitare un numero sulla tastiera e premere invio). Questo per entrambi gli addendi.

    somma = x+y; //Effettuiamo la somma
    cout << "La somma tra i due numeri e\': " << somma << "\n";

Con queste istruzioni effettuiamo la vera e propria operazione di somma e, successivamente, mostriamo il risultato a video. Notate come abbiamo concatenato più istruzioni cout, la prima stampa il messaggio “La somma tra i due numeri e\’: “, la seconda aggiunge il contenuto della variabile somma contenente il nostro calcolo (notate che questa non è racchiusa tra “”) ed infine viene stampato un carattere di escape: “\n”, che indica al programma di andare a capo di una linea (vi è un altro carattere di escape nella prima parte \’ che serve a visualizzare l’apostrofo). Il tutto termina con un unico carattere ; che indica che questa istruzione composta è di fatto tutta intera.

Ecco uno screenshot dell’output visto da Dev-C++:


C#004 - Somma in C++ Output

Scriviamo la funzione somma

Per non rendere questo tutorial banale, passiamo a qualcosa di un po’ più complesso. Vogliamo ora generare una funzione esterna al main che possa essere poi richiamata ogni qual volta lo desideriamo. Questa servirà semplicemente per effettuare la somme e notificare il risultato all’utente. Ecco il codice:

#include <iostream.h>
 
using namespace std;
 
int funzioneSomma(int a,int b);
 
int main()
{
    int x,y, somma;
    cout << "Inserisci il primo addendo: ";
    cin >> x; //Prendiamo in input il valore di x
    cout << "Inserisci il secondo addendo: ";
    cin >> y; //Prendiamo in input il valore di y
 
    somma = funzioneSomma(x,y); //La chiamata alla funzione
 
    cout << "La somma tra i due numeri e\': " << somma << "\n";
 
    system("PAUSE");
    return 0;
}
 
int funzioneSomma(int a, int b){
    int risultato; 
    risultato= 0; //Inizializziamo la variabile a 0
    risultato= a+b; //Effettuiamo la somma
 
    return risultato;
}

Come potete vedere le differenze sono poche, ma di fondamentale importanta. Abbiamo semplicemente dedicato uno spazio apposito, all’interno di funzioneSomma, per tutta la procedura che comprende i seguenti punti:

  • prelievo dei due valori interi (gli addendi)
  • calcolo della somma
  • stampa a video del risultato

Questo alleggerisce di fatto il main e, cosa ancor più importante, ci permette di riutilizzare tutte le volte che lo desideriamo funzioneSomma con una semplice chiamata. Il codice inizia con la dichiarazione della funzione, a seguire il main e infine la nostra funzione di cui già conosciamo il codice. Quello che possiamo farvi notare è l’ int prima del nome della funzione, che indica che la funzione restituirà a chi l’ha richiamata (nel nostro caso al main) un valore intero (risultato), e i due parametri richiesti in input dalla funzione (int a, int b) che si aspetta la funzione e userà nella sua elaborazione. Questi due parametri vengono chiesti precedentemente nel main e inviati alla funzione tramite la chiamata funzioneSomma(x,y). Il risultato dell’elaborazione della funzione verrà poi salvato nella variabile somma.

Abbiamo finito! Tenete presente che il programma fa praticamente le stesse cose che faceva quello scritto nella prima versione (con tutto il codice nell’unica funzione main), stesso output quindi, certo è che questo risulta molto più compatto nella sua espressione!

A presto!!