Ciclo for in lista.

di il
16 risposte

Ciclo for in lista.

Buongiorno a tutti , spiego il mio dubbio :
Sto pensando di costruire una struttura "studente" che comprenda i seguenti campi all'interno :nome,
cognome , matricola,materie date.
Ora siccome , capisco che dichiarare per esempio 20-25 campi all'interno della struttura dedicate alle materie date sarebbe dispendioso in termini di dimensione del programma , mi chiedevo se fosse possibile inserire un ciclo for che si arresti quando le materie da inserire per un determinato studente siano finite.

16 Risposte

  • Re: Ciclo for in lista.

    Non si è capito cosa intendi.

    Comunque in quella struttura le materie dovrebbero essere inserite in una lista e il puntatore alla testa nella struttura.
  • Re: Ciclo for in lista.

    Potresti definire una tabella completa con le stringhe di tutte le possibili materie; quindi la struttura studente conterrà semplicemente un array di interi (o meglio di short int se non addirittura unsigned char se le materie sono al massimo 255) che ti da l'indice di ogni materia data (0 per terminare la lista).
  • Re: Ciclo for in lista.

    Potrei tranquillamente procedere inquesto modo :

    struct lista{

    char nome [DIM];
    char cognome[DIM];
    char matricola[DIM];
    char materia1[DIM];
    char materia2[DIM];
    char materia2[DIM];
    e cosi via fino alla ventesima..

    struct lista *next;}

    typedef struct lista *lista_p;

    io mi chiedevo se magari tramite un indice posto nella materia1[DIM] e magari con un ciclo for , potevo eliminare il fatto di dover dichiarare tutte le altre variabili materie..
  • Re: Ciclo for in lista.

    Puoi usare una matrice di stringhe

    char materia[20][DIM];
  • Re: Ciclo for in lista.

    Ok , e far variare i da 0 a 20, se ho capito bene giusto ?
  • Re: Ciclo for in lista.

    Da 0 a 19
  • Re: Ciclo for in lista.

    Ma facendo questa modifica , basta semplicemente inserire questo ciclo for all'interno del main o ulteriori modifiche nelle funzioni ?
  • Re: Ciclo for in lista.

    Modifiche nelle funzioni? Quali funzioni?
  • Re: Ciclo for in lista.

    Funzioni che ho costruito tipo delete to list , earch to list... add to list etc etc. vanno modificate?
  • Re: Ciclo for in lista.

    E che ne so? Non vedendole come si fa a saperlo?
  • Re: Ciclo for in lista.

    @candaluar , potresti spiegarmi meglio , magari con un esempio cosa fare?
  • Re: Ciclo for in lista.

    Caro Daniele, se ti facessi un esempio tu lo prenderesti e lo copieresti nel tuo programma; dopo due minuti mi risponderesti: "non funziona" . Non cercheresti nemmeno di capire.
    In questa fase, a mio avviso, qualsiasi esempio o soluzione ti venga data è controproducente per la tua formazione; è meglio se ricominci affrontando problemi più semplici, senza l'aiuto di nessuno.
  • Re: Ciclo for in lista.

    Ma perché adesso ti metti a chiedere un esempio per un metodo che è un pelino più complesso di quello su cui ti stavo instradando io?

    Probabilmente volevi la pappa pronta da candaluar dato che non l'ottieni da me ...

    Segui il ragionamento che stavi facendo con gli elementi della matrice da 0 a 19 e inseriscili nel tuo codice ragionandoci ...
  • Re: Ciclo for in lista.

    Tu pensi che io non c'abbia provato??
    Ho scritto char[ materia [20][DIM];
    int i=0;(dentro il main)
    e ciclo for prima di while.
    Di piu non ho capito dai tuoi messaggi.
Devi accedere o registrarti per scrivere nel forum
16 risposte