Utente:Claudiaprt/Sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

In questo paragrafo vorremmo definire come è possibile realizzare un software con l'utilizzo delle classi iN C++ per la gestione dei file di testo e binari.
{ ciao } Riferimenti alla documentazione tecnica delle classi coinvolte
Classe ISTREAM
http://www.cplusplus.com/reference/fstream/fstream/?kw=fstream
Classe OSTREAM
http://www.cplusplus.com/reference/fstream/ifstream/?kw=ifstream
Classe FSTREAM
http://www.cplusplus.com/reference/fstream/ofstream/?kw=ofstream

Tipo di operazioni possibili sui file

[modifica | modifica wikitesto]

Apertura file

[modifica | modifica wikitesto]
   modalità di apertura

Chiusura file

[modifica | modifica wikitesto]

Scrittura dati

[modifica | modifica wikitesto]

Esercizio d'Esempio Sul file input.txt sono memorizzate le temperature di un mese (1 numero per riga). Realizzare un programma che calcoli e stampi la temperatura media del mese e scriva sul file output.txt le temperature in ordine decrescente.
E' importante conoscere la teoria sulla funzioni usate in informatica Funzione (informatica)

void ordina(float vet[],int num) { //ordina il vettore vet di num elementi in senso decrescente } int LeggiFile(float t[]) {

   fstream fi;
   int i=0;
   fi.open ("input.txt",ios ::in );
   if (fi.fail() ==true)
       cout<<"Attenzione file non esiste!!";
   else
   {
       // lettura di un file di testo
       while(!fi.eof ())
       {
           fi>>t[i];
           cout<<"valore letto"<<t[i]<<endl;
           i++;    
       }
       fi.close ();
   }
   return i;

}

void ScriviFile(float t[], int ne) {

   fstream fo;

//scrittura in un file di testo

   fo.open ("output.txt",ios::out  );
   for(int k=0;k<ne;k++)
       fo<<t[k]<<endl;
   fo.close ();

}

int main(array<System::String ^> ^args) {

   float t[33],tot=0;
   int i,num;
       num=LeggiFile(t);
       if (num!=0)
       {
           for(i=0;i<num;i++)
               tot=tot+t[i];
           tot=tot/num;
           cout<<"Valore medio delle temperature"<<tot;
           ordina(t,i);
           ScriviFile(t,num);
           cin.get();
       }
  return 0;

}