Aggiungere gli indici alla mia stampalista.

di il
13 risposte

Aggiungere gli indici alla mia stampalista.

Volevo chiedervi se con qualche piccola modifica fosse possibile fare in modo che quando stampo la mia lista ho una grafica del genere:
1)nome cognome voto
2)nome cognome voto

Quindi se è possibile far comparire gli indici alla mia lista.

void print_list(stud_p p)
{
     if(p!=NULL)
     {
                printf("\n%4s  %4s  %4s  \n\n",p->nome,p->cognome,p->voto);
                p=p->next;
                print_list(p);
                }
                }

13 Risposte

  • Re: Aggiungere gli indici alla mia stampalista.

    Ma perché queste richieste banali?

    Dopo tanti programmi su programmi, non hai imparato proprio nulla ... ?

    Perché non provi mai a fare da solo queste semplici cosette ?
  • Re: Aggiungere gli indici alla mia stampalista.

    Che pensate che non ci avevo pensato a una soluzione del genere?!! Eccoo le modifiche che ho apportato ma non capisco il motivo la variabile i rimane sempre a 0.
    
    void print_list(stud_p p)
    {int  i=0;
         if(p!=NULL)
         {
                    printf("\n%d %4s  %4s  %4s  \n\n",i,p->nome,p->cognome,p->voto);
                    p=p->next;
                    print_list(p);
                    i++;
                    }
                    
                    }
    
    
  • Re: Aggiungere gli indici alla mia stampalista.

    Se ti sforzi solo un pò lo capisci da solo il perchè.
    E se non ci riesci prova ad eseguire mentalmente il codice.
    E se non riesci a fare neanche questo metti qualche printf() prima e dopo la chiamata alla print_list() che ti mostri il valore di i.
    Se non riesci neanche a fare questo allora prova ad eseguire il codice con un debugger.

    Alcune mie curiosità:
    - come fai a scrivere quaranta programmi contemporaneamente?
    - Come riesci a pensare alla gestione di una lista, con puntatori ovunque, se hai questi dubbi di base?
  • Re: Aggiungere gli indici alla mia stampalista.

    Quaranta programma contemporaneamente?
  • Re: Aggiungere gli indici alla mia stampalista.

    candaluar ha scritto:


    Come riesci a pensare alla gestione di una lista, con puntatori ovunque, se hai questi dubbi di base?
    Semplice ... assembla vari pezzi copiati o forniti da altri, senza capire minimamente quello che scrive.

    Mi dispiace dirlo, ma dopo tante volte che ti si viene in aiuto si sperava che un po' ti cominciassi ad interessare per comprendere quello che fai. Ma non è così.
  • Re: Aggiungere gli indici alla mia stampalista.

    Come non mi interesso?!! Cerco di risolvere i miei problemi da solo , se non ci riesco chiedo aiuto a chi ne sa piu di me!!
  • Re: Aggiungere gli indici alla mia stampalista.

    Non è cosi difficicile da capire :
    Funzione print lista (il puntatore p che punta alla struttura.)
    Controllo se a p è stato associato un qualcosa , se si esegue il printf()
    Poi a p viene assegnata la successiva struct.
    E allora ho anche inserito l'incremento della variabile i prima di quest'ultima istruzione ma non mi viene incrementata. Adesso vi chiedo come mai ?
  • Re: Aggiungere gli indici alla mia stampalista.

    Quaranta è un numero biblico che indica "tanti", associato a periodi importanti per indicarne la lunga durata. Hai fatto tanti post, hai ricevuto tante risposte che ti indicavano bene dove sbagliavi, ti suggerivano come affrontare i problemi... ogni volta hai risposto che non capisci, riposti codice senza senso, fai sempre le stesse domande... insomma non evolvi.
    Il mio consiglio è quello di ripartire dalla basi.
    Compra un libro di C/C++ e poi prova a fare gli esercizi, gradualmente. Non affrontare altri esercizi finchè quello che stai facendo (da solo) non lo hai capito, sviluppato e provato (e anche debuggato se non funziona!).
    Ad esempio: prova a scrivere una funzione per il calcolo del fattoriale di un numero n. Scrivi la funzione sia con un ciclo, sia fanne una versione che calcola in maniera ricorsiva.
  • Re: Aggiungere gli indici alla mia stampalista.

    Grazie del consiglio , mi sarebbe piaciuto sapere pure perche non mi viene incrementata la variabile ad ogni ciclo ma a quanto pare non è ancora il momento..
  • Re: Aggiungere gli indici alla mia stampalista.

    Lo vedi che la funzione print_list richiama sé stessa PRIMA di aumentare i ?

    Quindi, il codice QUANDO ci arriva alla linea i++ ?

    "Capire" significa darsi queste due risposte.
  • Re: Aggiungere gli indici alla mia stampalista.

    Ho già detto di aver inserito l'incremento prima della riga in cui la funzione richiama se stessa!!!!!!
  • Re: Aggiungere gli indici alla mia stampalista.

    @daniele90 ... Perché non hai ancora compreso il concetto di "variabile locale".

    i è una variabile locale della funzione.
  • Re: Aggiungere gli indici alla mia stampalista.

    OK grazie del suggerimento.
Devi accedere o registrarti per scrivere nel forum
13 risposte