Les fichiers dans C++ - Applications résolues


1) Lire un fichier TEST avec des nombres entiers separes pas espace ou ENTER.
Afficher le minimum et le maximum di fichier.
#include <iostream>
using namespace std;
#include<fstream.h>
#include<values.h>

 
void main()
{
	ifstream f("C:\\test.txt");
 
	/*
	ifstream f;
	f.open("nombre.txt");
	*/
 
	if(!f) //or f=NULL
	{
		cout<<"Erreur a ouvrir le fichier!"<<endl;
		return;
	}
	int x,max=-MAXINT,min=MAXINT;
 
	f.seekg(0,ios::beg); //au commencement du fichier
	while(!f.eof())
	{
	f>>x;
	if (max<x)
		max=x;
	else if (min>x)
		min=x;
	}
 
	f.close();
	cout<<"Maximum est: "<<max<<endl;
	cout<<"Minimum est: "<<min<<endl;
 
	int k;
    	cin>>k;
}

2) Lire un fichier TEXT avec des nom bres entiers separes pas espace ou ENTER.
On doit calculer et afficher lasomme des valeurs numeriques du fichier et le nombre des elements strictement negatives.
#include<iostream>
using namespace std;
#include<fstream.h>
#include<values.h>

void main()
{
	ifstream f("C:\\test.txt"); //ou: fstream f("C:\\test.txt",ios::in);
	if(!f) //sau f=NULL
	{
		cout<<"Erreur a ouvrir le fichier!"<<endl;
		return;
	}
 
	int x[100], n_neg=0, s=0, i;
	f.seekg(0,ios::beg); //au commencement du fichier
	i=0;
	while(!f.eof())
	{
		f>>x[i];
		if(x[i]<0)
		   n_neg++;
		s+=x[i++];
	}
 
	f.close();
	cout<<"Nombre des elements negatifs: "<<n_neg<<endl;
	cout<<"La somme des elements: "<<s<<endl;
	
	int k;
        cin>>k;
}

3) Lire un fichier TEXT avec des nombres entiers separes par espace ou ENTER.
Afficher le minimum et le maximum du fichier.
Definir une classe pour les nombres entiers du fichier.
#include<iostream>
using namespace std;
#include<fstream>
#include<values.h>

class nombre
{
	int n;
	public:
	int& retur();
	friend istream& operator>>(istream&,nombre&);
};
int& nombre::retur()
{
	return n;
}
istream& operator>>(istream& a,nombre& b)
{
	a>>b.n;
	return a;
}
void main()
{
	ifstream f("C:\\test.txt ");
	if(!f)
	{
		cout<<"Erreur a ouvrir le fichier!"<<endl;
		return;
	}
 
	nombre 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<<"Minimum est: "<<min<<endl;
	cout<<"Maximum est: "<<max<<endl;
 
	int k;
        cin>>k;
}

4) Lire une chaine du clavier jusqu’au caracthere "$".
Apres lire, on ecrit les dates dans un fichier text et on les prend pour faire la contorization de chaque voyelle du fichier.
#include<iostream>
#include<fstream>
#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<<"Erreur a ouvrir."<<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); //il est allé f<<c;
	}while(c!='$');
 
	f.close();
	ofstream g("C:\\test.txt");
	if(!g)
	{
		cout<<"Erreur a ouvrir le fichier a lire."<<endl;
	}
 
	g<<"Voyelle a il y a de : "<<a<<" fois.\n";
	g<<"Voyelle e il y a de : "<<e<<" fois.\n";
	g<<"Voyelle i il y a de : "<<i<<" fois.\n";
	g<<"Voyelle o il y a de : "<<o<<" fois.\n";
	g<<"Voyelle u il y a de : "<<u<<" fois.\n";
	g.close();
	cout<<"Operation reusite de contorisation des voyelles!"<<endl;
 
	int k;
        cin>>k;
 
}

5) Faire la somme des valeurs numeriques d’un fichier texte.
#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<<"Erreur a ouvrir le fichier."<<endl;
		return;
	}
 
	while(!f.eof())
	{
		f.getline(a,255,'\n');
		p=strtok(a,separator); //on separeu la chaine avec espace ou virgule
		while (p)
		{
			if (strspn(p,cifre)==strlen(p))
			s+=atof(p);
			cout<<p<<"\n";
			p=strtok(NULL,separator);
		}
	}
 
	cout<<"Somme est: "<<s<<endl;
	
    int k;
    cin>>k;
}
Cookies help us deliver our services. By using our services, you agree to our use of cookies.