Sunteți pe pagina 1din 5

Laborator8

Fiiere

//1.Citireainformatieidintrunfisiertext

#include<iostream>
#include<fstream>
usingnamespacestd;

intmain()
{
//deschidereafisieruluisprecitiredinel
ifstreamf("d:\\fisier.txt");
//fstreamf("d:\\fisier.txt",ios::in);

//testareareusiteideschideriifisierului
if(!f)//(f==0)sau(f==NULL)
{
cout<<"Eroareladeschidereafisierului\n";
return(1);
}

//citireainformatieidinfisier(incazuldefata,vomciticuvantcucuvantsi
vomtransmiteinformatiapeecran)
char*c=newchar;
while(!f.eof())//parcurgereaintreguluifisier
{
f>>c;//citireapropriuzisadinfisier,cuvantcucuvant(cuvintelesunt
separateprincaracterulspatiu)
cout<<c<<'';
}
cout<<'\n';

//inchidereafisierultextdeschis
f.close();

system("pause");
return(0);
}

//2.Secitesteunfisiertext,cecontineexclusivvalorinumericeintregi,siseva
realizasumareaacestorasideterminareavalorilorextreme

#include<iostream>
#include<fstream>
usingnamespacestd;

intmain()
{
//deschidereafisieruluisprecitiredinel(variantacufunctiespecificade
deschidere)
ifstreamf;
f.open("d:\\numere.txt");
/*sau:
fstreamf;
f.open("d:\\numere.txt",ios::in);
*/

//testareareusiteideschideriifisierului
if(!f)//(f==0)sau(f==NULL)
{
cout<<"Eroareladeschidereafisierului\n";
return(1);
}

//citireainformatieidinfisiersiprelucrareaacesteia
intx,s,m,M;
f>>x;//citireaprimuluielementdinfisier
s=m=M=x;
while(!f.eof())
{
f>>x;//citireelementcuelement(restulelementelorramase)
s+=x;
if(x>M)
M=x;
else
if(x<m)
m=x;
}
cout<<'\n';

//inchidereafisierultextdeschis
f.close();

//afisarearezultatelorpeecran
cout<<"Sumanumerelor:"<<s<<'\n';
cout<<"Minimuldintrevalori:"<<m<<'\n';
cout<<"Maximuldintrevalori:"<<M<<'\n';

//transmiterearezultatelorintrunfisierderezultate
ofstreamg;
g.open("d:\\rezultat.txt");
/*sau:
fstreamg;
g.open("d:\\rezultat.txt",ios::out);
*/
if(!g)
{
cout<<"Eroareladeschidereafisierului\n";
return(1);
}
g<<"Sumanumerelor:"<<s<<'\n';
g<<"Minimuldintrevalori:"<<m<<'\n';
g<<"Maximuldintrevalori:"<<M<<'\n';
g.close();

system("pause");
return(0);
}

//3.Secitesteunfisiertextcecontineexclusivnumereintregi,despartiteprinspatiu
sau enter. S se realizeze sortarea ascendent a irului numerelor gsite n fiierul
respectiv,cutransmitereattlaconsol,ctintrunaltfiier,pentrurezultate.

#include<iostream>
#include<fstream>
usingnamespacestd;

intmain()
{
//deschidereafisieruluisprecitiredinel(variantacufunctiespecificade
deschidere)
ifstreamf;
f.open("d:\\numere.txt");

//testareareusiteideschideriifisierului
if(!f)//(f==0)sau(f==NULL)
{
cout<<"Eroareladeschidereafisierului\n";
return(1);
}

//citireainformatieidinfisiersitransmitereainvector
intx[100],i=0;
while(!f.eof())
{
f>>x[i];
i++;
}

//inchidereafisierultextdeschis
f.close();

//sortareavectorului
intaux;
for(intj=0;j<i1;j++)
for(intk=j+1;k<i;k++)
if(x[j]>x[k])
{
aux=x[j];
x[j]=x[k];
x[k]=aux;
}

//afisarearezultatelorpeecran
cout<<"Vectorulsortateste:";
for(intj=0;j<i;j++)
cout<<x[j]<<'';
cout<<'\n';

//transmiterearezultatelorintrunfisierderezultate
ofstreamg;
g.open("d:\\rezultat.txt");
if(!g)
{
cout<<"Eroareladeschidereafisierului\n";
return(1);
}
for(intj=0;j<i;j++)
g<<x[j]<<'';
g.close();

cout<<'\n';

system("pause");
return(0);
}

//4.Fisierul"Litere.txt"contineliteremicisimarialealfabetuluienglez.Definitio
functie, care, primind ca parametru un caracter, returneaza de cate ori apare acest
caracterinfisieruldat.

#include<iostream>
#include<fstream>
usingnamespacestd;

ifstreamf;

intaparitii(charc)
{
charx;//variabilacevafifolositalacitireacaractercucaracterdinfisier
inti=0;//numaruldeaparitii
while(!f.eof())
{
f>>x;
if(x==c)
i++;
}
returni;
}

intmain()
{
f.open("d:\\litere.txt");
if(!f)
{
cout<<"Operatiededeschiderenereusita\n";
return(1);
}
cout<<"Datiuncaracterdoritsprecautare:";
charc;
cin>>c;
cout<<"Caracterul"<<c<<"aparede"<<aparitii(c)<<"oriinfisier\n";
f.close();
system("pause");
return(0);
}

//5. Se citete un fiier text Text.txt, ce conine text de orice fel. Se cere
contorizareaapariieifiecreivocalenparte,precuminumruldeconsoanedintextul
coninutnfiier.

#include<iostream>
#include<fstream>
usingnamespacestd;

intmain()
{
inta,e,i,o,u,c;//anr.deaparitiialuia,..,cnr.deconsoane
a=e=i=o=u=c=0;
chark;//caracterulcarevafipermanentcitit

ifstreamf("d:\\text.txt");
if(!f)
{
cout<<"Eroareladeschidereafisierului\n";
return(1);
}

while(!f.eof())
{
f>>k;
switch(k)
{
case'a':
case'A':a++;break;
case'e':
case'E':e++;break;
case'i':
case'I':i++;break;
case'o':
case'O':o++;break;
case'u':
case'U':u++;break;
default:
if((k>='b'&&k<='z')||(k>='B'&&k<='Z'))
c++;
};
}

f.close();

cout<<"Numaruldeaparitiialuia|A:"<<a<<'\n';
cout<<"Numaruldeaparitiialuie|E:"<<e<<'\n';
cout<<"Numaruldeaparitiialuii|I:"<<i<<'\n';
cout<<"Numaruldeaparitiialuio|O:"<<o<<'\n';
cout<<"Numaruldeaparitiialuiu|U:"<<u<<'\n';
cout<<"Numaruldeconsoane:"<<c<<'\n';

system("pause");
return0;
}