Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problema traserimento dati da file a lista

    Testo dell'esercizio:
    "Vi verrà fornito un file testuale (orario.txt) contenente un semplice orario ferroviario semplificato (non
    ordinato) in questo formato (un treno per linea): numero del treno, spazio, ora di partenza, due punti,
    minuto di partenza, spazio, destinazione. Esempio:
    12342 12:15 Bergamo
    21211 11:15 Pavia
    Scrivere un programma che legga il file una riga per volta e memorizzi le informazioni relative ad ogni
    treno in un elemento di una lista che rappresenterà il nostro orario. Il singolo elemento dovrà essere
    una struttura contenente appunto numero del treno, ora di partenza, minuto di partenza e destinazione."

    l'esercizio è in c; se uso la strtok come faccio però a memorizzare i vari campi della lista,nel senso prima di procedere con l'inserimento devo avere tutti e quattro i campi.
    C'è qualcuno che mi può aiutare?? grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Leggi la riga all'interno di una array di char abbastanza grande.

    Una volta che hai letto la riga, la tratti con la strtok
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    si ok fino a quel punto ci sono arrivato ma è dopo il problema!!

  4. #4
    il problema è: nel momento in cui faccio la strtok per esempio leggendo dal file i dati del primo treno.
    con un prima strtok trovo il numero del treno,con la seconda le ore etc.etc.. ma devo avere tutti i campi della lista prima di procedere con l'inserimento e quindi teoricamente dovrei tenere memoria delle parole già tokenizzate ma in che modo???? of course una volta che ho i 4 campi riparto da capo leggendo una nuova linea e tutto ricomincia

  5. #5
    cioè la funzione che ho pensato è del tipo:
    ma non so come memorizzare le varie parole
    codice:
    void trasferisci(list l1,FILE*fp){
         char line[N]; 
         char* pch;
         while( fgets(line, N, fp) != NULL ){
               pch=strtok (line," ");
                     while(pch!=NULL){
                           // salvataggio campi che poi finiranno in ogni nodo della lista
                           l1=ins_in_testa(l1,"campi_della_lista"); 
                           pch=strtok (NULL," ");    
                     }
         } 
    }

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi usare una struttura con gli elementi di ogni singola riga e poi devi usare un array fatto da tanti elementi di questa struttura.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7

    Moderazione

    Il linguaggio va specificato anche nel titolo, e il codice va incluso nei tag [co­de] ... [/co­de], altrimenti perde l'indentazione; ora ho sistemato io, in futuro ricordatene.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.