Sunteți pe pagina 1din 5

Fiiere text n C++ prof.

Cristina Iordaiche
Lic. Gr. Moisil Timioara
Declararea, nchiderea i deschiderea fiierelor n C++ utilizeaz anumite clase i funcii care sunt
declarate n biblioteca fstream.h.
#include<fstream.h>
Declararea fiierelor
Pentru a putea citi/scrie informaii dintr-un/ntr-un fiier, acesta se asociaz unui stream (flu! de
intrare/ieire"
ifstream nume_fiier_logic (nume_fiier);// deschiderea unui fisier pentr a citi
date
ofstream nume_fiier_logic (nume_fiier);// deschiderea unui fisier pentru a
scrie date
Exemplu:
fisier de intrare fiier de iesire
ifstream f(numere.in); ofstream g(numere.out);
Crearea unui fisier cu date ce urmeaza a fi citite prin program
FILE New
- scriem date in fisier
- sal#am fisierul cu numele specificat intre parantezele rotunde ale functiei ifstream
(de eemplu numere"in!
$ccesati aceasta adresa pentru a putea urmari un film cu succesiune pasilor"
http%//info"tm"edu"ro%&'&'/ice/C(()/ (apasati C*+,+cli-!
CII!"# datelor
de la tastatura din fisier
#include<iostream.h>
$oid main()
% int &;
cin>>&;//citim un numar
'
#include<fstream.h>
$oid main()
%
ifstream f(numere.in);
int &;
f>>&; //citim un numar din fisier
'
(emplu%
Fiiere text n C++ prof. Cristina Iordaiche
Lic. Gr. Moisil Timioara
Dupa rulare%
.isierele de iesire, cele in care se #or afisa rezultatele /0 trebuie create de noi, le #a crea pro1ramul"
(C!I"!"# datelor
)e ecran in fisier
#include<iostream.h>
$oid main()
% int &;
cin>>&;
cout<<&;
'
#include<fstream.h>
$oid main()
%
ifstream f(numere.in);
ofstream g(numere.out);
int &;
f>>&; //citim un numar din fisier
g<<&; //scriem in fisier
'
(emplu%
#"*I"+
*, mai utili-ati clrscr() si getch() cand lucrati cu fisiere.
Funcii utile n prelucrarea fiierelor text
eof() 2 se utilizeaz pentru detectarea sf3ritului de fiier" .uncia returneaz ' dac #aloarea
curent nu este sf3ritul de fiier i 4 n caz contrar"
f.close() 2 se utilizeaz pentru nchiderea fiierului
Fiiere text n C++ prof. Cristina Iordaiche
Lic. Gr. Moisil Timioara
CII!"# datelor din fisier
este cunoscut numarul n al
$alorilor
cand nu este cunoscut numarul $alorilor din
fisier
"nunt+ 5e citesc n numere intre1i , calculati
suma lor si afisati aceasta suma in fisierul
date"out"
#include<fstream.h>
$oid main()
%
ifstream f(date.in);
ofstream g(date.out);
int &/s01/n;
f>>n;
for(i02;i<0n;i33)
% f>>&;
s0s3&;
'
g<<s;
f.close();g.close();
'
"nunt+ 5e citesc toate numerele intre1i din fisierul
date"in, calculati suma lor si afisati aceasta suma in fisierul
date"out"
#include<fstream.h>
$oid main()
%
ifstream f(date.in);
ofstream g(date.out);
int &/s01;
4hile(f>>&)
s0s3&;
g<<s;
f.close();g.close();
'
"nunt+ 5e citesc n numere intre1i , calculati suma lor si afisati aceasta suma in fisierul date"out"
Fiiere text n C++ prof. Cristina Iordaiche
Lic. Gr. Moisil Timioara
"nunt+ 5e citesc toate numerele intre1i din fisierul date"in, calculati suma lor si afisati aceasta suma in
fisierul date"out"
$plicatii%
Problema: Buchete
(olimpiada locala de informatica 2003 autor: Crstina Iordaiche)
,a o florarie s-au primit n (n678''''! fire de flori" Din fisierul buchete"in se citeste numarul n"
.lorareasa doreste sa le aran9eze in #aze astfel incat%
- toate #azele sa contina acelasi numar de flori
- numarul florilor din #aza sa fie impar
Cerinta% $fisati in fisierul buchete"out, in cate moduri poate imparti florareasa cele n fire de flori"
Pentru fiecare caz afisati numarul de #aze necesare si cate flori #a contine fiecare #aza"
(emplu%
n7:
4 #aza a cate : flori
8 #aze a cate 8 flori
: #aze cate 4 floare
----------------------
.lorile se pot imparti in 8 moduri%
Problema:Parola
(Concursul National de informatica SATU A!" 200# autor: Crstina Iordaiche)
,a un 9oc computerizat trecerea de la un ni#el la altul se face prin intermediul unei parole in functie de
puncta9ul obtinut de 9ucator, la ni#elul anterior" Parola este un numar de maim : cifre, cel mai mare posibil
care se obtine luand in considerare o sin1ura data toate cifrele ce fac parte din puncta9ul realizat de 9ucator"
Citindu-se din fisierul parola"in puncta9ul P obtinut de 9ucator, afisati in fisierul parola"out, parola ce trebuie
tastata pentru trecerea la ni#elul urmator"
(emplu%
P7 ;44'' parola7;4'
Fiiere text n C++ prof. Cristina Iordaiche
Lic. Gr. Moisil Timioara
Probleme pentru pregatire in vederea participarii la olimpiada:
http%//olimpiada"info/o9i<''=/inde"php>cid7arhi#a
http%//campion"edu"ro/arhi#a/inde"php>pa1e7problem?action7#ie@?id7:4<
http%//campion"edu"ro/arhi#a/inde"php>pa1e7problem?action7#ie@?id7;48
http%//campion"edu"ro/arhi#a/inde"php>pa1e7problem?action7#ie@?id7;'=