Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2006, 21:50   #1
MaxGuevara
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();
La funzione chiamata nello snippet sovrastante e' la seguente:
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;
      }   
}
Il mio problema e' che il programma riesce ad effettuare la ricerca e a stamparmi a video con successo solo i dati della prima riga,mentre la seconda non riesce a leggerla.
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.
MaxGuevara è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2006, 22:00   #2
Qu@ker
Member
 
Iscritto dal: Apr 2004
Messaggi: 130
Quote:
Originariamente inviato da MaxGuevara
La funzione chiamata nello snippet sovrastante e' la seguente:
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;
      }   
}
Non mi pare corretta.
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;   
}
Qu@ker è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2006, 00:02   #3
MaxGuevara
Member
 
Iscritto dal: Aug 2005
Messaggi: 86
Ok,ho corretto ma continuo ad avere lo stesso problema...
MaxGuevara è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2006, 13:37   #4
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
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);
in c++

Codice:
file.seekg (0, ios::end);
~§~ 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
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2006, 14:02   #5
MaxGuevara
Member
 
Iscritto dal: Aug 2005
Messaggi: 86
Quote:
Originariamente inviato da Fenomeno85
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);
in c++

Codice:
file.seekg (0, ios::end);
~§~ Sempre E Solo Lei ~§~

Per leggere il file avevo scritto:
Codice:
ifstream leggi("Archivio.txt");
Cosa intendi per "ripassi"?
MaxGuevara è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2006, 14:18   #6
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
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
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
Spazzolini elettrici Oral-B iO in super ...
Samsung Galaxy Watch8 Classic e Watch7 a...
Blue Origin prosegue lo sviluppo di Blue...
Roborock Saros 10 e 10R dominano il merc...
Apple scatenata su Amazon: tutti gli sco...
Canon EOS C50 è la nuova videocam...
ASUS ProArt P16 arriva in Italia: la wor...
Fujifilm presenta l'obiettivo FUJINON GF...
Il grafene ha appena 'infranto' una legg...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:59.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v