begin process at 2012 05 27 19:02:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers / Disque

 > UN REPERTOIRE TELEPHONIQUE AVEC LA CLASSE FSTREAM

UN REPERTOIRE TELEPHONIQUE AVEC LA CLASSE FSTREAM


 Information sur la source

Note :
Aucune note
Catégorie :Fichiers / Disque Niveau :Initié Date de création :16/12/2003 Date de mise à jour :16/12/2003 21:39:30 Vu :4 748

Auteur : morgandetoi06

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

permet de montrer comment lire/ecrire dans un fichier avec les methodes de la classe fstream et en plus y a des petites fonctions sympas comme la recherche d un nom par le numero et vice versa...

Source

  • #include <iostream>
  • #include <stdlib.h>
  • #include <string>
  • #include <conio.c>
  • #include <fstream>
  • using namespace std;
  • void fonction_numero_par_nom()
  • {
  • clrscr();
  • string ligne_lue;
  • ifstream rep;
  • rep.open("repertoire");
  • if(rep.good())
  • {
  • bool trouve=false;
  • string numero;
  • string personne;
  • int i;
  • cout<<"Entrez le nom : ";
  • cin>>personne;
  • while(rep>>ligne_lue)
  • {
  • i=0;
  • while(ligne_lue.substr(i,1)!=":")
  • {
  • i++;
  • }
  • if((ligne_lue.substr(0,i))==personne)
  • {
  • numero=ligne_lue.substr(i+1,10);
  • cout<<"Le numero de "<<personne<<" est: "<<numero<<".\n\n"<<endl;
  • trouve=true;
  • }
  • }
  • if(trouve==false)
  • cout<<"Aucune numero n'est associe a "<<personne<<"...\n\n"<<endl;
  • rep.close();
  • }
  • else
  • {
  • cerr<<"Erreur d'ouverture du fichier";
  • }
  • }
  • void fonction_nom_par_numero()
  • {
  • clrscr();
  • string ligne_lue;
  • ifstream rep;
  • rep.open("repertoire");
  • if(rep.good())
  • {
  • bool trouve=false;
  • string numero;
  • string personne;
  • int i;
  • cout<<"Entrez le numero (sans espaces...) : ";
  • cin>>numero;
  • while(rep>>ligne_lue)
  • {
  • i=0;
  • while(ligne_lue.substr(i,1)!=":")
  • {
  • i++;
  • }
  • if((ligne_lue.substr(i+1,10))==numero)
  • {
  • personne=ligne_lue.substr(0,i);
  • cout<<"Le numero "<<numero<<" est asocie a "<<personne<<".\n\n"<<endl;
  • trouve=true;
  • }
  • }
  • if(trouve==false)
  • cout<<"Aucune personne n'est associee au numero"<<numero<<"...\n\n"<<endl;
  • rep.close();
  • }
  • else
  • {
  • cerr<<"Erreur d'ouverture du fichier";
  • }
  • }
  • void fonction_afficher_tout()
  • {
  • clrscr();
  • ifstream rep;
  • rep.open("repertoire");
  • if(rep.good())
  • {
  • string ligne_lue;
  • string personne;
  • string numero;
  • int i=0;
  • int j=0;
  • while(rep>>ligne_lue)
  • {
  • while(ligne_lue.substr(j,1)!=":")
  • {
  • j++;
  • }
  • numero=ligne_lue.substr(j+1,10);
  • personne=ligne_lue.substr(0,j);
  • gotoxy(0,i+1);
  • cout<<"Entree n ";
  • gotoxy(10,i+1);
  • cout<<i+1<<endl;
  • gotoxy(13,i+1);
  • cout<<personne<<endl;
  • gotoxy(35,i+1);
  • cout<<numero<<endl;
  • i++;
  • }
  • gotoxy(1,i+2);
  • if(i==0)
  • cout<<"\nIl n'y a aucune entree dans le repertoire\n\n"<<endl;
  • else if(i==1)
  • cout<<"\nIl n'y a qu'une entree dans le repertoire\n\n"<<endl;
  • else
  • cout<<"\nIl y a "<<i<<" entrees dans le repertoire\n\n"<<endl;
  • rep.close();
  • }
  • else
  • {
  • cerr<<"Erreur d'ouverture du fichier";
  • }
  • }
  • void fonction_ajouter_entree()
  • {
  • ofstream rep;
  • rep.open("repertoire",ios::app);
  • if(rep.good())
  • {
  • string personne,numero;
  • cout<<"Entrez le nom: ";
  • cin>>personne;
  • cout<<"Entrez le numero: ";
  • cin>>numero;
  • rep<<personne<<":"<<numero<<endl;
  • cout<<"\n\n"<<endl;
  • rep.close();
  • }
  • else
  • {
  • cerr<<"Erreur d'ouverture du fichier";
  • }
  • }
  • void main()
  • {
  • unsigned short choix;
  • do{
  • cout<<"Que voulez vous faire ?"<<endl;
  • cout<<"1.Chercher un numero par le nom"<<endl;
  • cout<<"2.Chercher un nom par le numero"<<endl;
  • cout<<"3.Afficher l'integralite du repertoire"<<endl;
  • cout<<"4.Ajouter une entree"<<endl;
  • cout<<"5.Quitter"<<endl;
  • cin>>choix;
  • switch(choix)
  • {
  • case 1: fonction_numero_par_nom(); break;
  • case 2: fonction_nom_par_numero(); break;
  • case 3: fonction_afficher_tout(); break;
  • case 4: fonction_ajouter_entree(); break;
  • case 5: exit(0); break;
  • default: clrscr; cout<<"Mauvais choix\n\n"<<endl; break;
  • }
  • }while(choix!=5);
  • }
#include <iostream>
#include <stdlib.h>
#include <string>
#include <conio.c>
#include <fstream>
using namespace std;



void fonction_numero_par_nom()
{
                          clrscr();
                          string ligne_lue;
                          ifstream rep;
                          rep.open("repertoire");
                          if(rep.good())
                          {
                          bool trouve=false;
                          string numero;
                          string personne;
                          int i;
                          cout<<"Entrez le nom : ";
                          cin>>personne;
                          while(rep>>ligne_lue)
                          {
                          i=0;
                                               while(ligne_lue.substr(i,1)!=":")
                                               {
                                               i++;
                                               }
                                               if((ligne_lue.substr(0,i))==personne)
                                               {
                                               numero=ligne_lue.substr(i+1,10);
                                               cout<<"Le numero de "<<personne<<" est: "<<numero<<".\n\n"<<endl;
                                               trouve=true;
                                               }
                          }
                          if(trouve==false)
                          cout<<"Aucune numero n'est associe a "<<personne<<"...\n\n"<<endl;
                          rep.close();
                          }
                          else
                          {
                          cerr<<"Erreur d'ouverture du fichier";
                          }
}

void fonction_nom_par_numero()
{
                          clrscr();
                          string ligne_lue;
                          ifstream rep;
                          rep.open("repertoire");
                          if(rep.good())
                          {
                          bool trouve=false;
                          string numero;
                          string personne;
                          int i;
                          cout<<"Entrez le numero (sans espaces...) : ";
                          cin>>numero;
                          while(rep>>ligne_lue)
                          {
                          i=0;
                                               while(ligne_lue.substr(i,1)!=":")
                                               {
                                               i++;
                                               }
                                               if((ligne_lue.substr(i+1,10))==numero)
                                               {
                                               personne=ligne_lue.substr(0,i);
                                               cout<<"Le numero "<<numero<<" est asocie a "<<personne<<".\n\n"<<endl;
                                               trouve=true;
                                               }
                          }
                          if(trouve==false)
                          cout<<"Aucune personne n'est associee au numero"<<numero<<"...\n\n"<<endl;
                          rep.close();
                          }
                          else
                          {
                          cerr<<"Erreur d'ouverture du fichier";
                          }
}

void fonction_afficher_tout()
{
                          clrscr();
                          ifstream rep;
                          rep.open("repertoire");
                          if(rep.good())
                          {
                          string ligne_lue;
                          string personne;
                          string numero;
                          int i=0;
                          int j=0;
                          while(rep>>ligne_lue)
                          {
                                               while(ligne_lue.substr(j,1)!=":")
                                               {
                                               j++;
                                               }
                                               numero=ligne_lue.substr(j+1,10);
                                               personne=ligne_lue.substr(0,j);
                                               gotoxy(0,i+1);
                                               cout<<"Entree n ";
                                               gotoxy(10,i+1);
                                               cout<<i+1<<endl;
                                               gotoxy(13,i+1);
                                               cout<<personne<<endl;
                                               gotoxy(35,i+1);
                                               cout<<numero<<endl;
                                               i++;
                          }
                          gotoxy(1,i+2);
                          if(i==0)
                          cout<<"\nIl n'y a aucune entree dans le repertoire\n\n"<<endl;
                          else if(i==1)
                          cout<<"\nIl n'y a qu'une entree dans le repertoire\n\n"<<endl;
                          else
                          cout<<"\nIl y a "<<i<<" entrees dans le repertoire\n\n"<<endl;
                          rep.close();
                          }
                          else
                          {
                          cerr<<"Erreur d'ouverture du fichier";
                          }
}

void fonction_ajouter_entree()
{
                          ofstream rep;
                          rep.open("repertoire",ios::app);
                          if(rep.good())
                          {
                          string personne,numero;
                          cout<<"Entrez le nom: ";
                          cin>>personne;
                          cout<<"Entrez le numero: ";
                          cin>>numero;
                          rep<<personne<<":"<<numero<<endl;
                          cout<<"\n\n"<<endl;
                          rep.close();
                          }
                          else
                          {
                          cerr<<"Erreur d'ouverture du fichier";
                          }
}

void main()
{
	unsigned short choix;
    do{
       cout<<"Que voulez vous faire ?"<<endl;
       cout<<"1.Chercher un numero par le nom"<<endl;
       cout<<"2.Chercher un nom par le numero"<<endl;
       cout<<"3.Afficher l'integralite du repertoire"<<endl;
       cout<<"4.Ajouter une entree"<<endl;
       cout<<"5.Quitter"<<endl;
       cin>>choix;
       switch(choix)
       {
       case 1: fonction_numero_par_nom(); break;
       case 2: fonction_nom_par_numero(); break;
       case 3: fonction_afficher_tout(); break;
       case 4: fonction_ajouter_entree(); break;
       case 5: exit(0); break;
       default: clrscr; cout<<"Mauvais choix\n\n"<<endl; break;
       }
   }while(choix!=5);
 }



 Sources du même auteur

CLASSE FILE UTILISANT UN TABLEAU
CLASSE PILE UTILISANT UN TABLEAU
VOIE PARALLELE COUPLEUR MC 68230 IMPRIMANTE SOUS LINUX
CALCUL PUISSANCE PAR FONCTION RECURSIVE
CALCUL FACTORIEL PAR FONCTION RECURSIVE

 Sources de la même categorie

COMPTER LE NOMBRE DE PAGES D'UN FICHIER PDF par Renfield
Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel

Commentaires et avis

Commentaire de muntoya le 16/12/2003 11:39:32

salut,
Ton passage sur la recherche peut me servir..
Pourquoi ne pas mettre un switch pour les structures de sélection, a la place de tes if ?
Bonne prog....

Commentaire de morgandetoi06 le 16/12/2003 12:22:26

oué j aurait pu mettre un switch à la place des if mais bon j aime pas trop quand y a beaucoup de code entres les "case"

Commentaire de muntoya le 16/12/2003 19:05:06

Resalut,
Mais tes "case" peuvent renvoyer a des fonctions. Ca rend ainsi le code plus rigoureux et plus lisible car j'ai appris que le if n'était pas fait pour ca..., du style..

case 1:
fonction1();
case 2:
fonction2();

et ainsi de suite.... :-). Bonne prog.

Commentaire de morgandetoi06 le 16/12/2003 21:40:41

voila j ai mit à jour, donc je me suis servi d un switch et j ai separé le code en plusieurs fonctions.
j ai aussi rajouté dans les fonctions la gestion d erreur d ouverture du fichier

Commentaire de alex_du_65 le 28/06/2007 14:26:15

bonjour! g un probleme avec "clrscr();" ! Le compilateur detecte une erreur !!!! Voila je debute! Et javé vrémen besoin de source!!
      
                      Merci de me repondre

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales