c/c++

All posts tagged c/c++


Un albero di Natale realizzato con i caratteri ASCII? Si può fare con un programma in linguaggio C/C++; l’obiettivo è mostrare qualcosa di questo genere:

 B U O N   N A T A L E . . .

              @
             @@@
            @@@@@
           @@@@@@@
          @@@@@@@@@
         @@@@@@@@@@@
        @@@@@@@@@@@@@
       @@@@@@@@@@@@@@@
      @@@@@@@@@@@@@@@@@
     @@@@@@@@@@@@@@@@@@@
              #
              #
              #
              #


A U G U R I I I I I I I . . .

oppure di questo genere:

B U O N   N A T A L E . . .

           A
          AAA
         AAAAA
        AAAAAAA
       AAAAAAAAA
      AAAAAAAAAAA
     AAAAAAAAAAAAA
           M
           M
           M
           M

A U G U R I I I I I I I . . .

in cui sono cambiati:

  • l’altezza, e cioè il numero di righe dell’albero (adesso 7, prima 10),

  • il carattere da visualizzare (adesso A, prima @), e
  • il carattere del tronco (adesso M, prima #)

L’altezza del tronco è rimasta invece uguale (4).
Se volete ricavare il vostro albero personalizzato basta seguire i seguenti passi:

  1. andate su IDEONE (un sito per la compilazione ed esecuzione online di programmi)
  2. cliccate su “fork” (in alto a sinistra)
  3. inserite (modificando quelle già presenti) nella casella “enter input (stdin)” le 4 cose appena dette nello stesso ordine (altezza albero, carattere, altezza tronco. carattere tronco). Lasciate sempre uno spazio tra queste cose;
  4. infine cliccate sul pulsante verde “RUN” in basso a destra

Codice dell’albero di Natale in C/C++

Per coloro invece che conoscono la programmazione (o la stanno imparando) e volessero provarlo sul proprio computer (magari personalizzando anche il codice) ecco di seguito il programma in linguaggio C/C++ (compilare ed eseguire per credere 😉 ):

using namespace std;
#include 
#include 
#include 
#define spazi  4
int main()
{
  int altezza, altezzaTronco, numSimboli;
  char simbolo,simboloTronco;

//acquisizione dati di input
  cout<<"inserisci altezza albero: ";   cin>>altezza;
  cout<<"inserisci simbolo da visualizzare(es. @,#,0 ";  cin>>simbolo;
  cout<<"inserisci altezza tronco: ";   cin<>simboloTronco;
  int spaziPrima = altezza;
  numSimboli=1;
  cout<

Commenti al programma albero di Natale

Come si può notare, si tratta di un albero disegnato con i caratteri ASCII in cui è possibile personalizzare l'altezza dell'albero (senza considerare il tronco), l'altezza del tronco, e i caratteri (chiamati simbolo) con cui verranno disegnati l'albero e il tronco.
Il programma si può vedere suddiviso in tre parti; la prima parte serve appunto ad acquisire da tastiera tramite le istruzioni cout e cin (del C++) tali dati (altezza albero, altezza tronco, simbolo albero, simbolo tronco).
Successivamente in base all'altezza fornita dall'utente viene disegnato l'albero con un ciclo for che scrive su output delle linee fatte col simbolo scelto; ogni linea avrà meno spazi (precedenti al primo simbolo) e più simboli rispetto alla precedente (ecco il perchè delle istruzioni: spaziPrima--; e numSimboli+=2; ).
Dopo sarà disegnato il tronco con un altro ciclo for.

Ciao e fatene Buon uso ! 🙂

PS: Se ti è piaciuto questo articolo, ti potrebbe piacere anche un albero di Natale animato scritto in C/C++ con l'uso della libreria graphics.h. Lo trovi qui.