Utente:Claudiaprt/Sandbox
File in C++
modificaIn 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
modificaApertura file
modificamodalità di apertura
Chiusura file
modificaLettura dati
modificaScrittura dati
modificaEsercizio 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;
}