Aplicatii Fisiere Cpp

5
1) Se citeste un fisier TEST ce contine numere intregi despartite prin spatiu sau ENTER. Sa se afiseze minimul si maximul din acel fisier. #include <iostream> using namespace std; #include<fstream.h> #include<values.h> void main() { ifstream f("C:\\test.txt"); /* ifstream f; f.open("numar.txt"); */ if(!f) //sau f=NULL { cout<<"Eroare la deschiderea fisierului!"<<endl; return; } int x,max=-MAXINT,min=MAXINT; f.seekg(0,ios::beg); //ne pozitionam la inceputul fisierului while(!f.eof()) { f>>x; if (max<x) max=x; else if (min>x) min=x; } f.close(); cout<<"Maximul este: "<<max<<endl; cout<<"Minimul este: "<<min<<endl; int k; cin>>k; } 2) Se citeste un fisier text ce contine numere intregi despartite prin spatiu sau ENTER. Se cere a se calcula si afisa pe ecran suma tuturor valorilor numerice din fisier si numarul de elemente strict negative. #include<iostream.h> using namespace std; #include<fstream.h> #include<values.h> void main() { ifstream f("C:\\test.txt"); //sau: fstream f("C:\\test.txt",ios::in); if(!f) //sau f=NULL {

Transcript of Aplicatii Fisiere Cpp

Page 1: Aplicatii Fisiere Cpp

1) Se citeste un fisier TEST ce contine numere intregi despartite prin spatiu sau ENTER. Sa se afiseze minimul si maximul din acel fisier.

#include <iostream>using namespace std;#include<fstream.h>#include<values.h>

void main(){

ifstream f("C:\\test.txt");

/*ifstream f;f.open("numar.txt");*/

if(!f) //sau f=NULL{

cout<<"Eroare la deschiderea fisierului!"<<endl;return;

}int x,max=-MAXINT,min=MAXINT;

f.seekg(0,ios::beg); //ne pozitionam la inceputul fisieruluiwhile(!f.eof()){f>>x;if (max<x)

max=x;else if (min>x)

min=x;}

f.close();cout<<"Maximul este: "<<max<<endl;cout<<"Minimul este: "<<min<<endl;

int k;

cin>>k;}

2) Se citeste un fisier text ce contine numere intregi despartite prin spatiu sau ENTER. Se cere a se calcula si afisa pe ecran suma tuturor valorilor numerice din fisier si numarul de elemente strict negative.#include<iostream.h>using namespace std;#include<fstream.h>#include<values.h>

void main(){

ifstream f("C:\\test.txt"); //sau: fstream f("C:\\test.txt",ios::in);if(!f) //sau f=NULL{

cout<<"Eroare la deschiderea fisierului!"<<endl;return;

}

int x[100], n_neg=0, s=0, i;f.seekg(0,ios::beg); //ne pozitionam la inceputul fisieruluii=0;while(!f.eof()){

f>>x[i];if(x[i]<0)

n_neg++;s+=x[i++];

Page 2: Aplicatii Fisiere Cpp

}

f.close();cout<<"Numarul elementelor negative: "<<n_neg<<endl;cout<<"Suma tuturor elementelor: "<<s<<endl;

int k; cin>>k; }

3) Se citeste un fisier TEXT ce contine numere intregi despartite prin spatiu sau ENTER. Sa se afiseze minimul si maximul din acel fisier. Se va defini o clasa ptr numerele intregi din fisier.#include<iostream.h>using namespace std;#include<fstream.h>#include<values.h>

class numar{

int n;public:int& retur();friend istream& operator>>(istream&,numar&);

};int& numar::retur(){

return n;}istream& operator>>(istream& a,numar& b){

a>>b.n;return a;

}void main(){

ifstream f("C:\\test.txt ");if(!f){

cout<<"Eroare la deschiderea fisierului!"<<endl;return;

}

numar x;int max=-MAXINT;int min=MAXINT;f.seekg(0,ios::beg);while(!f.eof()){f>>x;if (max<x.retur())

max=x.retur();else if (min>x.retur())

min=x.retur();}

cout<<"Minimul este: "<<min<<endl;cout<<"Maximul este: "<<max<<endl;

int k;

cin>>k;}

4) Se citeste un sir de la tastatura pana la intalnirea caracterului "$". Dupa citire datele se scriu intr-un fisier text si se preiau din fisierul respectiv si se face contorizarea fiecarei vocale din fisier.#include<iostream.h>

Page 3: Aplicatii Fisiere Cpp

#include<fstream.h>#include<stdio.h>using namespace std;void main(){

char c;int a=0,e=0,i=0,o=0,u=0;ofstream f("C:\\test.txt");

if(!f){

cout<<"Eroare la deschidere."<<endl;}

do{

c=getchar();switch(c){

case 'a': a++; break;case 'e': e++; break;case 'i': i++; break;case 'o': o++; break;case 'u': u++;

}

if(c!='$')f.put(c); //ar fi mers si f<<c;

}while(c!='$');

f.close();ofstream g("C:\\test.txt");if(!g){

cout<<"Eroare la deschidere fisierului de citire."<<endl;}

g<<"Vocala a se gaseste de : "<<a<<" ori.\n";g<<"Vocala e se gaseste de : "<<e<<" ori.\n";g<<"Vocala i se gaseste de : "<<i<<" ori.\n";g<<"Vocala o se gaseste de : "<<o<<" ori.\n";g<<"Vocala u se gaseste de : "<<u<<" ori.\n";g.close();cout<<"Opratia de contorizare a vocalelor a reusit!"<<endl;

int k;

cin>>k; }

5) Sa se sumeze valorile numerice dintr-un fisier text.#include<iostream.h>#include<string.h>#include<stdlib.h>#include<fstream.h>#include<stdio.h>using namespace std; void main(){

char a[255], separator[]=" ,",cifre[]="0123456789.+-",*p;double s=0;fstream f("C:\\test.txt",ios::in);

if(!f){

cout<<"Eoare la deschiderea fisierului."<<endl;return;

Page 4: Aplicatii Fisiere Cpp

}

while(!f.eof()){

f.getline(a,255,'\n');p=strtok(a,separator); //se separa sirul folosind ca separator spatiul

sau virgulawhile (p){

if (strspn(p,cifre)==strlen(p))s+=atof(p);cout<<p<<"\n";p=strtok(NULL,separator);

}}

cout<<"Suma este: "<<s<<endl;

int k; cin>>k;}