Programmi C / C++ - prof. Claudio Maccherani - Perugia - 2008
Input/Output da/su File di Testo
[
.txt
]
(
per Olimpiadi Informatica, modalità C
)
/* "FileTxtC.cpp": programma C++ di esempio per input/output da/su file testo; modalità C (like C), per OII (Olimpiadi Italiane di Informatica) Dev-C++ - prof. Claudio Maccherani - 2006-2007 legge da un file di input 5 numeri, li memorizza su un vettore, li raddoppia, li memorizza sul file di output*/ #include
// input.txt output.txt #include
// +---------+ +---------+ #include
// | 3 | | 6 | #define DEBUG // | 5 | | 10 | // | 8 | | 16 | int v[6]; // | 300 | | 300 | int i; // | 80 | | 160 | FILE *F; // +---------+ +---------+ void inx(); // lettura dei dati dal file di input "input.txt" void elabora();// elaborazione dei dati (qui "raddoppia" il vettore) void outx(); // memorizzazione del risultato sul file di output "output.txt" int main() { cout<<"Programma C++ di Input/Output da/su file
\n\n"; cout<<"*** a - lettura dei dati dal file di input \n"; inx(); // lettura dei dati dal file di input cout<<"*** b - elaborazione dei dati \n"; elabora(); // elaborazione dei dati cout<<"*** c - memorizzazione del risultato sul file di output \n"; outx(); // memorizzazione del risultato sul file di output cout<<"\n un tasto per terminare... "; getchar(); return 0; } void inx() { // lettura dei dati dal file di input "input.txt" F = fopen("input.txt","r"); // apertura file di input for (i=1; i<=5; i++) // lettura di un intero - "%i" { fscanf(F, "%i", &v[i]); cout<< i << " - " << v[i] << "\n"; }; fclose(F); } void elabora() { // elaborazione dei dati (qui "raddoppia" il vettore) for (i=1; i<=5; i++) { v[i] = v[i] * 2; cout<< i << " - " << v[i] << "\n"; }; } void outx() { // memorizzazione del risultato sul file di output "output.txt" F = fopen("output.txt","w"); // apertura file di output for (i=1; i<=5; i++) // scrittura di un intero { fprintf(F, "%i\n", v[i]); cout<< i << " - " << v[i] << "\n"; }; fclose(F); }