|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Aug 2005
Messaggi: 86
|
[C++]Lettura da file
Ciao.
Ho un problema a leggere delle righe di testo da un file. In pratica il programma C++ che ho in mente dovrebbe chiedere all'utente di digitare il numero di una matricola,cercare all'interno del file questo numero e se lo trova stamparmi a video il nome del proprietario. Vi posto la parte del codice che fa questo: Codice:
cout<<"Inserisci il numero di matricola:"<<endl; cin>>matr; if(!leggi) { cerr<<"Impossibile aprire il file!"; return 1; } for(unsigned int n=0;n<1024;++n) { leggi>>lettura[n].nome>>lettura[n].cognome>>lettura[n].anno>>lettura[n].nascita>>lettura[n].recapito>>lettura[n].matricola>>lettura[n].email; } posizione_matricola=cerca_numero_matricola(lettura,matr); if(posizione_matricola<0) { cout<<"\nNumero di matricola non presente"; return 0; } else { cout<<"\nIl numero di matricola "<<matr<<" appartiene a "<<lettura[posizione_matricola].nome<<" "<<lettura[posizione_matricola].cognome; } leggi.close(); Codice:
int cerca_numero_matricola(info a[],unsigned int b) { int indice; int i=0; for(i=0;i<1024;i++) { if(a[i].matricola=b) indice=i; return indice; } } ESEMPIO: Il programma legge da un file chiamato "Archivio.txt" Il contenuto di Archivio.txt e': Francesco Rossi 12345 Luca Verdi 67890 dove 12345 e 67890 sono i numeri di matricola. Se io,una volta eseguito il programma,alla richiesta "Scrivi il numero di matricola" scrivo 12345 mi appare: Il numero di matricola 12345 appartiene a Francesco Rossi E quindi e' tutto corretto,mentre se scrivo: 67890 mi risponde con: Numero di matricola non esistente. Spero di essere stato abbastanza chiaro. Grazie in anticipo. |
![]() |
![]() |
![]() |
#2 | |
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Quote:
Codice:
int cerca_numero_matricola(info a[], unsigned int b) { for(int i = 0; i < 1024; ++i) { if (a[i].matricola == b) return i; } return -1; } |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2005
Messaggi: 86
|
Ok,ho corretto ma continuo ad avere lo stesso problema...
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
non vedo come leggi il file ... quando ripassi e non hai chiuso il file serve fare il rewind del puntatore ... quindi
in c Codice:
rewind (fp); Codice:
file.seekg (0, ios::end);
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Aug 2005
Messaggi: 86
|
Quote:
Per leggere il file avevo scritto: Codice:
ifstream leggi("Archivio.txt"); |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
non so che cosa hai combinato
http://www.cplusplus.com/ref/iostream/ifstream/ ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:31.