|
|||||||
|
|
|
![]() |
|
|
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: 8897
|
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: 8897
|
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: 00:35.



















