Elenet.net
0 voti

Prof, questo esercizio l'abbiamo fatto in classe, ma come finisce, come si stampa ? Grazie ;)

#include <iostream>
using namespace std;

struct persona { 
                 string nome;
                 int eta;
                 persona * freccia;
               };

int main(int argc, char **argv)
{
    persona * primo;
    persona * secondo;
    
    primo = new (persona);
    
    primo->nome = "Martina";
    primo->eta = 16;
    primo->freccia = NULL;
    
    secondo = new (persona);
    
    secondo->freccia = primo;
    secondo->nome = "Paolo";
    secondo->eta = 15;
    
    primo = secondo;
    
    
    
    return 0;
}

quesito posto 26 Marzo 2017 in Classe terza da ChiaraCarli Corsista (49 punti)
  

2 Risposte

+1 voto
Risposta migliore
ti mancano i cicli , un ciclo per inserire gli elementi fino a quando è vera una certa condizione, e un ciclo per leggere la lista dinamica

Ti invio l'esercizio fatto in laboratorio

//  costruzione di una lista dinamica semplice
// sia a pila che a coda
// una coda è una lista dove l'ultimo a entrare sarà l'ultimo
// a uscire

#include <iostream>
using namespace std;

// per adesso facciamo una pila il primo a entrare sarà ultimo
// a uscire
struct spesa
{
    string nome;
    float prezzo;
    int quantita;
    float spesatot;
      spesa * prossimo;
    
    };

int main(int argc, char **argv)
{
    spesa *sp1;
    spesa *sp2;
    sp1 = new (spesa);
      
      cout<<"\n inserisci prodotto ";
      cin>>sp1->nome;
      cout<<" \n inserisci il suo prezzo ";
      cin>>sp1->prezzo;
      cout<<"\n inserisci la quantita ";
      cin>>sp1->quantita;
      sp1->spesatot= sp1->prezzo * sp1->quantita;
      // qui ho due opzioni : costruire la pila o la coda
      // in base a come viene orientato il puntatore
      
      // per la pila
      sp1->prossimo=NULL;
       sp2 = new (spesa);
      sp2->prossimo = sp1;
      sp1=sp2;
      
    while ( sp1->prezzo !=0)
    {
         cout<<"\n inserisci prodotto ";
      cin>>sp1->nome;
      cout<<" \n inserisci il suo prezzo ";
      cin>>sp1->prezzo;
      cout<<"\n inserisci la quantita ";
      cin>>sp1->quantita;
      sp1->spesatot= sp1->prezzo * sp1->quantita;
      sp2 = new (spesa);
      sp2->prossimo = sp1;
      sp1=sp2;
            
        }
        
        // cercare nella lista i prodotti che hanno un prezzo
        // superiore a 50
        
    while (sp1->prossimo != NULL)
    {
        if (sp1->prezzo >= 50)
        {
            cout <<" \n prodotto trovato "<<sp1->nome;
            }
            
            sp1 = sp1->prossimo;
    }
        
// supponiamo di voler rileggere di nuovo la lista

 sp1 = sp2;  // risalgo di nuovo la lista a partire dalla testa
 
    // cerchiamo il prezzo più caro
    float max = sp1->prezzo;
    string nomecaro;
    int quant;
    float costa;
    
    while (sp1->prossimo != NULL)
    {
        if (max <sp1->prezzo )
        {
            max = sp1->prezzo;
            nomecaro = sp1->nome;
            quant = sp1->quantita;
            costa= sp1->prezzo;
            }
        sp1=sp1->prossimo;
        
        }
    cout<<" prodotto trovato = "<<sp1->nome;
    cout<<" il massimo trovato = "<<max;
    cout<<" hai preso numero di prodotti = "<<quant;
    
    
    return 0;
}
risposta inviata 27 Marzo 2017 da Laura Guccione Corsista (149 punti)
Selezionata 27 Marzo 2017 da ChiaraCarli
Questo della spesa l'ho ..
Questo che le ho inviato io l'abbiamo fatto in classe mentre ero alla lavagna ma non capisco come finisce come si conclude come si stampa
+1 voto
poi le code le faremo in laboratorio , seguiranno  le doppie liste , le funzioni ricorsive , gli alberi di ricerca binaria , infine i file , le classi , la OOP e delle applicazioni grafiche
risposta inviata 27 Marzo 2017 da Laura Guccione Corsista (149 punti)
Okay, va bene prof

Domande correlate

0 voti
2 risposte
quesito posto 17 Marzo 2017 in Classe terza da ChiaraCarli Corsista (49 punti) | 454 visite
+2 voti
2 risposte
quesito posto 18 Marzo 2017 in Classe terza da Paolo Migliarba (31 punti) | 201 visite
+1 voto
3 risposte
quesito posto 18 Marzo 2017 in Classe terza da Paolo Migliarba (31 punti) | 200 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti