C++: Fisiere - aplicatii rezolvate


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

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 (rezolvare...)

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 pentru numerele intregi din fisier (rezolvare...)

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 (rezolvare...)

5) Sa se sumeze valorile numerice dintr-un fisier text (rezolvare...)

Rezolvari

#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;
}

#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 fisierului
	i=0;
	while(!f.eof())
	{
		f>>x[i];
		if(x[i]<0)
			n_neg++;
		s+=x[i++];
	}
 
	f.close();
	cout<<"Numarul elementelor negative: "<<n_neg<<endl;
	cout<<"Suma tuturor elementelor: "<<s<<endl;
	
	int k;
      cin>>k;
 
}

#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;
}

#include<iostream.h>
#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;
 
}

#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;
	}
 
	while(!f.eof())
	{
		f.getline(a,255,'\n');
		p=strtok(a,separator); //se separa sirul folosind ca separator spatiul sau virgula
		while (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;
}


Acest site utilizeaza cookie-uri. Navigand in continuare va exprimati acordul asupra folosirii cookie-urilor.