Utente:Claudiaprt/Sandbox
File in C++
[modifica | modifica wikitesto]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]Lettura dati
[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;
}