contact contat contattaci mail scrivici write mailme email e-mail
Game Programming Italia
Realizziamo e compiliamo il primo programma C++ con DevC++ Articolo DOC 
<a href=?action=userview&id=1075>Vikingo</a>di Vikingo sel-vin@libero.it http://www.cplusplus.it | 17-01-2004 15:24:17 | 32267 hit
Un semplice ed utile tutorial per programmatori C++ alle primissime armi con il DevC++, completo di codici sorgenti.
Scarica Download | Commenta/Vota | Segnala | Stampa | Aggiungi/Togli ai Preferiti | Cerca simili

Realizziamo e compiliamo il primo programma C++ con DevC++

di Vincenzo Selvaggio

Il C++ è stato sviluppato da Bjarne Stroustrup negli anni '80 (Bell Laboratories) ed è senza dubbio il linguaggio di programmazione ad alto livello più utilizzato e potente. In quest'articolo cominciamo a vedere come è strutturato un semplice programma C++ e a realizzare una prima applicazione perfettamente funzionante: un convertitore lira-euro. 

L'ambiente DevC++ e la struttura di un programma C++

Per creare un programma abbiamo bisogno di varie componenti: un ambiente di sviluppo (il compilatore), un linguaggio di programmazione (nel nostro caso il C++) e le sue librerie, cioè un insieme di funzioni che il linguaggio stesso ci mette a disposizione. L’ambiente di sviluppo che useremo è il DevC++ della BloodShed perché è gratuito e scaricabile da www.bloodshed.net. Una volta installato, facciamolo partire e nel menu file selezioniamo new->project e poi ancora empty project dandogli un nome, ad esempio cplusplus. A questo punto aggiungiamo un foglio bianco al nostro progetto facendo di nuovo file e new->source file. Rinominiamo il source file con FirstProg e passiamo subito a scrivere il nostro codice:

#include <iostream.h>

#include <stdlib.h>

 

 

int main(){

  

  

   return 0;

 

}

 

 

Il risultato di questi primi passi è mostrato in Figura 1.

Figura 1: Il progetto.

Questa è la struttura di ogni programma C++. Le righe uno e due, gli include, servono ad importare le librerie nel nostro programma, in particolar modo iostream.h include le funzioni riguardanti l’input e l’output grazie alle quali possiamo leggere da tastiera e stampare a video mentre stdlib.h sta per standard library e include alcune funzioni standard, come vedremo in seguito. Il programma comincia con la riga int main() e tutto quello che viene dopo, tra le parentesi graffe aperte e chiuse, è il nostro punto di ingresso. La scritta int main() vuole dire che main è una funzione che restituisce come valore un int, cioè un numero intero; infatti nel corpo del main troviamo return 0 che vuol dire che restituiamo il valore intero 0. Lo zero in C++ vuol dire che tutto è andato bene e che quindi il programma che in ultima analisi è il corpo della funzione main è terminato con successo. Questo programma funziona ma non fa nulla. Aggiungiamoci un'ulteriore riga:

#include <iostream.h>

#include <stdlib.h>

 

 

int main(){

  

   cout << "Sono un programmatore Cplusplus \n        CIAO MONDO \n";

  

   return 0;

 

}

 

 

Il comando cout<< serve a mandare la stringa che viene dopo nel flusso di output (il nostro monitor). Una stringa si definisce tra i doppi apici “ “; praticamente tra i doppi apici possiamo scrivere tutto quello che vogliamo e questo verrà stampato a video grazie al comando cout <<. Lo \n serve ad andare daccapo. Da notare che ogni riga di codice deve terminare con il punto e virgola. Infine aggiungiamo una funzione di servizio delle stdlib.h che serve a bloccare il programma fin quando non si preme un tasto, questo per riuscire a vedere quello che abbiamo realizzato. Ecco il codice finale:

#include <iostream.h>

#include <stdlib.h>

 

 

int main(){

  

   cout << "Sono un programmatore Cplusplus \n        CIAO MONDO \n";

  

   system(“PAUSE”);

   return 0;

 

}

 

 

La compilazione

Ora passiamo alla  compilazione del nostro primo programma, cioè la traduzione in linguaggio macchina del codice scritto in un linguaggio di programmazione. Andiamo nel menu execute e premiamo su Compile&Run: dovrebbe così avviarsi il nostro primo programma in C++. In ogni parte del codice le linee che iniziano con i caratteri // rappresentano dei commenti che ci aiutano a ricordare cosa abbiamo fatto.

#include <iostream.h> //libreria input/output

#include <stdlib.h>      // libreria standard

 

 

int main(){   //punto di ingresso

  

   //STAMPA A VIDEO

   cout << "Sono un programmatore Cplusplus \n        CIAO MONDO \n";

  

   system(“PAUSE”);

   return 0;

 

}  //punto di uscita

 

Se andiamo nella cartella del nostro progetto troviamo i seguenti file:

 

            - cplusplus.dev               è il file del progetto

            - firstprog.cpp                è il listato del codice

            - firstprog.o                    è il file oggetto

            - firstprog.exe                 è il file eseguibile

 

Il risultato del nostro esempio in Figura 2.

Figura 2: Il codice compilato in esecuzione.

Una reale applicazione

Il programma firstprog ci ha permesso di capire qual è la struttura di un programma C++, ora pronti per fare qualcosa di concreto: un convertitore in euro. Prendiamo il codice di firstprog è apportiamo le seguenti modifiche:

#include <iostream.h>

#include <stdlib.h>

 

 

int main(){

  

   

            cout << "----------------------EuroConvertitore-----------------------\n";
                        cout << " Immetti il valore in lire da convertire: ";

                        //DICHIARAZIONI DELLE VARIABILI
                        float cambio=1936.27;
                        float valoredaconvertire;
                        float valoreconvertito;

 

   system(“PAUSE”);

   return 0;

 

}

 

Il cout già lo abbiamo visto e serve a mandare le scritte a video; la novità sono le dichiarazioni delle variabili che sono delle locazioni statiche di memoria in cui un valore viene memorizzato. Le variabili che abbiamo utilizzato sono di tipo reale (float), mentre in generale per dichiarare una variabile occorre mettere prima il tipo e poi il nome che noi gli vogliamo dare. Ad esempio se ci serve un intero scriveremo int mionumerointero, se ci serve un carattere scriveremo invece char miocarattere. E' una buona abitudine di programmazione dare un nome alle variabili che ci ricordino il suo significato nel corso del programma.  Se scrivessimo   

                                              float a=1936.27;
                                              float b;
                                              float c;

il programma funzionerebbe lo stesso ma sarebbe difficile da gestire e ricordare. Tornado al codice notiamo che la variabile cambio è stata inizializzata perché sarà una costante nel nostro programma e non verrà modificata. Sarebbe un buon uso anche inizializzare le altre variabili al valore zero per non avere effetti indesiderati:

#include <iostream.h>

#include <stdlib.h>

 

 

int main(){

  

   

            cout << "----------------------EuroConvertitore-----------------------\n";
                        cout << " Immetti il valore in lire da convertire: ";

                        //DICHIARAZIONI DELLE VARIABILI
                        float cambio=1936.27;
                        float valoredaconvertire=0;
                        float valoreconvertito=0;

 

   system(“PAUSE”);

   return 0;

 

}

 

 

 Ora dobbiamo chiedere all'utente della nostra applicazione di immettere un valore per la variabile valoredaconvertire e questo è possibile con il comando cin duale di cout. Ecco il codice:

 

#include <iostream.h>

#include <stdlib.h>

 

 

int main(){

  

   

            cout << "----------------------EuroConvertitore-----------------------\n";
                        cout << " Immetti il valore in lire da convertire: ";

                        //DICHIARAZIONI DELLE VARIABILI
                        float cambio=1936.27;
                        float valoredaconvertire=0;
                        float valoreconvertito=0;

 

 

            cin >> valoredaconvertire;

 

   system(“PAUSE”);

   return 0;

 

}

 

 

Il programma verrà eseguito fino al cin (si legge ci-in) dopo di che si interrompe e attende che venga immesso un valore dal dispositivo di input che per default è la tastiera. Questo valore viene poi immesso nella variabile di tipo reale valoredaconvertire. Ora aggiungiamo il codice che ci permette la conversione e la visualizzazione del risultato col solito cout

#include <iostream.h>

#include <stdlib.h>

 

 

int main(){

  

   

            cout << "----------------------EuroConvertitore-----------------------\n";
                        cout << " Immetti il valore in lire da convertire: ";

                        //DICHIARAZIONI DELLE VARIABILI
                        float cambio=1936.27;
                        float valoredaconvertire=0;
                        float valoreconvertito=0;

 

 

            cin >> valoredaconvertire;

 

 

 

            //CODICE DELL'OPERAZIONE DI CONVERSIONE

                        valoreconvertito = valoredaconvertire/cambio;

                        //STAMPA DEL RISULTATO
                        cout << "\nIl valore convertito e' " << valoreconvertito << " euro.\n";

 

   system(“PAUSE”);

   return 0;

 

}

 

Il codice dell'operazione di conversione è una semplice espressione matematica, cioè dividiamo la variabile valoredaconvertire (il cui valore è quello immesso dall'utente) per il cambio. L'uguale è l'operatore di assegnazione a sinistra, non possiamo scrivere l'inverso! Per quanto riguarda cout c'è una novità: inviamo al dispositivo di output oltre a delle stringe anche una variabile, il tutto separato dai doppi simboli <<. Il risultato del nostro convertitore in Figura 3.

Figura 3: Il convertitore in esecuzione.

Conclusioni

In quest'articolo abbiamo imparato a dichiarare una variabile, a interagire con l'utente dell'applicazione e in generale a capire la struttura di un qualsiasi programma C++. Il passo successivo sarà quello di risolvere problemi con l'utilizzo della programmazione strutturata.

Vincenzo "Vikingo" Selvaggio

<selvin@cplusplus.it>

www.cplusplus.it

 




Commenti

Sono presenti 6 commenti, inserisci nuovo commento.Desc

 Commento N° 6 - Inserito da orsetto il 28/09/2005 - 10:26:25 [rispondi]
x 
Ciao,
ho installato la 4.9.9.2.
Dopo la scrittura del codice, nella compilazione ottengo un errore "Error 1"
Potete aiutarmi?
--
orsetto

 Commento N° 5 - Inserito da Mangao il 01/06/2004 - 14:57:04 [rispondi]
x 
Continua


--
\\Mangao//

Continua a scrivere altri tutorial

 Commento N° 4 - Inserito da Chip&Chop il 19/03/2004 - 17:09:24 [rispondi]
x 
Controlla che ci sia scritto e magari non "stdlib.h" e poi fai una ricerca di stdlib.h nella sottocartella "include".

Chip
--------------
Chip&Chop Soft
http://www.gameprog.it/index.php?section=23

 Commento N° 3 - Inserito da WILEz il 19/03/2004 - 12:53:46 [rispondi]
x 
Complimenti per il tutorial, davvero utile a chi è alle primissime armi, come me.
Però ho un piccolo problema, magari sbaglio qualche cosa anche se mi sembra strano vista la semplicità del tutorial. Mi sembra di ave capito che mi manca la libreria "stdlib.h" perchè mi dice "unable to run program file" nella seconda riga. Non dovrebbe far pare del programma? O lo devo scaricare a parte? Magari ho preso la verzione senza la libreria...

grazie!
--
WILEz
http://www.wilez.supereva.it/
--

 Commento N° 2 - Inserito da alexrasulo il 18/01/2004 - 22:38:56 [rispondi]
x 
Gui di Windows??

Invece della gui di windows, ti consiglio di usare le FLTK...

Alessandro Rasulo,
Emthesis Development
www.emthesis.com

 Commento N° 1 - Inserito da Flashover il 18/01/2004 - 11:23:50 [rispondi]
x 
Mi è piaciuto molto questo tutorial. Bravo!!!

Grande!!!! Adesso se vuoi, potresti fare un altro tutorial, magari inserendo delle altre librerie e qualche nuovo comando il mio consiglio è quello di usare la gui di windows per visualizzare il convertitore :)

Ciao
--
Flashover

Per inserire commenti devi essere registrato !
 
Valutazione x 
7VOTI
9


www.steo.it

TIPS: Un metodo alternativo per manipolare i bits di una variabile