Dubbio su una funzione che fa input di una lista

di il
7 risposte

Dubbio su una funzione che fa input di una lista

Buongiorno, orami sono giorni che ci provo e non riesco a capire il giusto ragionamento:
devo fare una funzione che chiede in input elementi da inserire nella lista, io fermo l' input inserendo la stringa null:

void input(list& l)//questa non riesco a farla funzionare
{
 cell *aux = l;
 cell *curr = aux;
 while(aux->str != "null")
 {
  std::cin >> aux->str;
  if (aux->str != "null") insert(l, aux->str);
  aux = aux->next;
  aux->next = new cell;
 }
}

7 Risposte

  • Re: Dubbio su una funzione che fa input di una lista

    Ma non è meglio studiare come si definisce NULL invece di provare tanti giorni a casaccio?
  • Re: Dubbio su una funzione che fa input di una lista

    Weierstrass ha scritto:


    Ma non è meglio studiare come si definisce NULL invece di provare tanti giorni a casaccio?
    Si, ma non saprei da dove iniziare...
  • Re: Dubbio su una funzione che fa input di una lista

    Da un libro?
  • Re: Dubbio su una funzione che fa input di una lista

    Weierstrass ha scritto:


    Da un libro?
    Ma intendevi nullptr per definire il puntatore nullo?
  • Re: Dubbio su una funzione che fa input di una lista

    Ci scrivi proprio la parola "null" nella stringa???
  • Re: Dubbio su una funzione che fa input di una lista

    Secondo me quella funzione è completamente da ripensare...

    Se posso darti un consiglio, io mi soffermerei nell'implementare una serie di funzioni standard per le liste, da utilizzare poi come base per risolvere i diversi problemi che ti si presentano di volta in volta.
    Per esempio funzioni base possono essere nell'ordine:
    void inserisci_in_testa(nodo* &p, const "TIPO" &dato);
    void inserisci_in_coda(nodo* &p, const "TIPO" &dato);
    void inserisci_in_ordine(nodo* &p, const "TIPO" &dato);
    nodo*& trova(nodo* &p, const "TIPO" &dato);
    void elimina_nodo(nodo* &p);
    void cancella_elemento(nodo* &p, const "TIPO" &dato);
    //che elimina dalla lista tutti i nodi contenenti un certo elemento
    void stampa(nodo *p)

    P.S.
    Tornando alla funzione, non sono sicuro di aver capito fino in fondo quelle che sono le tue intenzioni, ma riguardo a quello che ti diceva @Weierstrass, prova a lanciare il seguente codice:
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << ("null" == NULL) << endl;
        cout << ("null" == nullptr) << endl;
    }
  • Re: Dubbio su una funzione che fa input di una lista

    Ma anche se definisco null nel modo corretto, il programma come fa a sapere quando terminare l' input con cin?
    Perchè la funzione chiede un elemento ma deve anche preparare la cella successiva per chiedere l' elemento, quindi non saprei come fare per fermare l' input se non faccio in quel modo...comunque ho provato quel codice nippolo
Devi accedere o registrarti per scrivere nel forum
7 risposte