Questo sito ha bisogno della pubblicità per poter essere mantenuto. Gentilmente disabilita il blocco della pubblicità nel tuo browser per questo sito web.
Caricamento in corso...Caricamento in corso...
Caricamento in corso...

Leggere numeri in una lista linkata

Da una fonte arrivano numeri naturali memorizzarli usando una lista linkata e leggerli in ordine di arrivo.

  1. Definire una classe lista linkata, vedere lezione del 14-3-2012 per le specifiche;

  2. Definire un menu che usando le funzioni definite nella classe, acquisisce dati da tastiera, chiede all’utente se desidera stampare i dati già memorizzati;

  3. Esce dal menu.

 

#include <iostream.h>
class lista
{
      int numero;
      lista *punt;
      public:
             lista ( ) { numero = 0; punt = NULL;};
             int pop ( ) { return ( numero);};
             void push (int num ) { numero = num;};
             void punt_succ (lista *dove_punt) { punt= dove_punt;};
             lista *prendi_succ ( ) { return ( punt);};
};

void inserisci (int num);
void visualizza ( );

lista *start;
lista * temp;
lista *ult;

int 
main ( )
{
     int scelta;
     int num;
     do
     {
       cout << "Se vuoi inserire un elemento premi 1\n\n\n";
       cout << "Se vuoi visualizzare gli elementi inseriti premi 2\n\n\n ";
       cout << "Se vuoi uscire premi 3\n\n\n";
       cin >> scelta;
       switch (scelta) 
       {
              case 1: 
                   cout << "\n\n\n\nInserisci prima il numero--->";
                   cin >> num;
                   inserisci( num);
                   cout << "\n\n  Hai inserito---> " << temp->pop( )<< "\n\n\n";
                   
                   break;    
              case 2:
                   visualizza ( );
                
                   break;
       };
     } while ( scelta !=3);
     return (0);
} ;

void inserisci (int num) 
{
    temp = new lista;
    temp->push( num);
    if (start == NULL)
       start = temp;
    else
        ult->punt_succ ( temp);
    ult = temp;
}

void visualizza ()
{
     if (start== NULL)
        cout << "\n\n\nNon  ci sono elementi da visualizzare\n\n\n";
     else
     {
         temp = start;
         cout << "\n\nElementi inseriti:\n\n";
         do
         {    
              cout << "\n\n "<< temp->pop( )<<"\n\n";
              temp= temp->prendi_succ( );
         }while ( temp!= NULL);
     };
}