Menu principale

Problemone C++ Per Esamone

Aperto da zerocool, 27 Dicembre 2004, 21:06:13

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

zerocool

Visato che al mio topicone sulla programmazione hanno risposto in parecchi che conoscono i c++ ora siete obbligati ad aiutarmi.... :bleh:

Vi espongo il problema... il 10 ho l'esame di fondamenti di prog 1 e devo consegnare il primo progetto... tale progetto comporta la gestione di un'ipotetica iscrizione a quello che preferite...
Il file legge i dati da un file chiamato persone.txt strutturato in questa maniera:

Nome1
Cognome1
Data_nascita1
Nome2
Cognome2
Data_nascita2
...
...
...

il sorgente è abbastanza lungo quindi ecco il LINK.

il problema sorge quando cerco di leggere il file in quanto mi da un errore di Segmentation fault su linux, mentre su win si pianta tutto  
provabilmente l'errore è nella lettura del file perchè se leggo solamente la prima riga funziona tutto, mentre se tento di leggere il resto partono i problemi, quindi se qualcuno ha un'idea mi aiuti....
Grazie già da ora

lukelf

Il link non mi caga. Volevo vedere in che modalità avevi aperto il file.
Comunque appena sistemi il link do il tuo problema in pasto al massimo esperto mondiale di C++. Almeno così dice. ^^;


lukelf

Atttz! E' stato veramente bravo come dice di essere!

Sono impressionato.  

zerocool

#4
  L'unico problema è che nn so perchè in un modo funziona e nell'altro no...
per il resto basta dare un occhio alla libreria fstream per vedere che l'operatore >> è in overloading per gli oggetti di tipo stream... il resto viene da solo

Alternative-One

ti aiuta spiros che è un informatico


Sei l'orgoglio della Toscana diahane

Tidus™

Citazionealla libreria fstream

per vedere che l'operatore >>


è in overloading




per gli oggetti di tipo stream...



















il resto viene da solo
ma il capolavoro è


"il resto viene da solo"


*____________________________________________________________*




 


*se ne va a braccietto cn la sua ignoranza*


ccietto?


...... ccetto...... boh........................


ignoranza *_*
Sono [ 42 giorni ] che non faccio battute sui souls.*
*Aggiornato al 01/02/2024
Se hai appena letto un mio post relativo a un "Souls" probabilmente è di tipo ironico, in nessun caso volevo offendere la comunità dei souls e i suoi simpaticissimi seguaci.
Se ti senti offeso me ne dispiaccio ma prova a rileggere il post in chiave ironica contestualizzandolo al contempo al mood generale della discussione.



zerocool

Ok ho perfezionato il programma, e l'ho modificato in modo da usare oggetti invece di una struct... adesso mi rimane un solo problema da risolvere... riuscire a fare in modo che all'apertura del file persone.txt non venga letta l'ultima riga...

Spirossino mio dove sei....  :love:

lukelf

Un LOOP con un NOT EOF ... no?

zerocool

#9
Si ovio per leggero

while(!file.eof())
{
}

il problema che il mio file per necessità ha una linea vuota alla fine fatta solo dal carattere \0 e vorrei che la lettura ignorasse questa riga poichè leggenda mi inizializza un'oggetto della classe persona di troppo e per giunta vuoto.

lukelf

#10
Okkey ... magari non è pulito ma metti un controllo nel LOOP e verificane il contenuto. Se è lungo 0 o 2 byte lo butti 'che sei arrivato alla fine.
I due caratteri è nel caso tu abbia nel file un CRLF o un LFCR (x unix).

Edit: metti un controllo sul contenuto della stringa che stai leggendo

spiros

Citazioneti aiuta spiros che è un informatico
prendi per le mele mi sono connesso ora  
e cmq il c++ non è il mio forte
[img]http://img247.imageshack.us/img247/7803/untitled1mr9.jpg" border="0" alt="Immagine IPB" /]

zerocool

Ho già provato... ma con scarsi risultati... nn so se per un mio problema nel riuscire nell'implementarlo nel codice o perchè nn mi riconosce il test sulla condizione di ugualglianza...

Intanto vi posto anche il nuovo codice con in più il file persone per farvi un idea del problema... così se qualcuno mi trova la soluzione mi fa passare l'esame con più di 18  :help:


Gestione

spiros

[img]http://img247.imageshack.us/img247/7803/untitled1mr9.jpg" border="0" alt="Immagine IPB" /]