Fichier DEVc++

Bonjour,
je veux savoir comment manipuler un fichier lectur ,ecretur, recherche ,suppression aussi comment arté a la fin du fichier bon ce que je chercher exactement c avoir un programme avec le menu en bas

lectur_________________1
modification___________2
supprestion____________3
recherche_____________4
affichage______________5
fin___________________6

aussi encor je veux bien savoir comment effectue une recherche sur le fichier , est qd je trouve le resulta si je veux la modifier comment fair sa modifier juste le donner du code rechercher ééé c tt pr le moment merci davnce

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
FILE *f;
struct
{
int code;
char nom[30];
char prenom[30];
int nbh;
float slh;
}pr;

int menu()
{ int x;
cout <<"\n __________________________________\n";
cout <<" | lectur________________"<<1 <<" |"<< endl;
cout <<" | modification__________"<<2 <<" |"<< endl;
cout <<" | supprestion___________"<<3 <<" |"<< endl;
cout <<" | recherche_____________"<<4 <<" |"<< endl;
cout <<" | affichage_____________"<<5 <<" |"<< endl;
cout <<" | fin___________________"<<6 <<" |"<< endl;
cout <<" |__________________________________|" << endl;
cout << "\t\n choisie un chiffre de menu :\n ";
cin >> x;

while(x<1 || x>6)
{
cout <<"\t\n choix invalide retourner au menu "<<endl;
cout <<"\n __________________________________\n";
cout <<" | lectur________________"<<1 <<" |"<< endl;
cout <<" | modification__________"<<2 <<" |"<< endl;
cout <<" | supprestion___________"<<3 <<" |"<< endl;
cout <<" | recherche_____________"<<4 <<" |"<< endl;
cout <<" | affichage_____________"<<5 <<" |"<< endl;
cout <<" | fin___________________"<<6 <<" |"<< endl;
cout <<" |__________________________________|" << endl;
cout << "\t\n choisie un chiffre de menu :\n ";
cin >> x;
}
}
int fin()
{ int a;
cout << "fin du programme taper 5 pour quitter :";
cin >>a;
return (a);
}

void init()
{ f=fopen("personnel.txt","a+");

cout <<" taper votre code :";
cin >> pr.code;
fprintf(f,"\n\tcode\t\t%d\n",pr.code);

cout <<" taper votre nom :" ;
cin >>pr.nom;
fprintf(f,"\tnom\t\t%s\n",pr.nom);

cout << " taper votre prenom :";
cin >>pr.prenom;
fprintf(f,"\tprenom\t\t%s\n",pr.prenom);

cout << " taper votre nombre d'heur :";
cin >> pr.nbh;
fprintf(f,"\tnombre heur\t%d\n",pr.nbh);

cout << " taper votre salaire :";
cin >> pr.slh;
fprintf(f,"\tsalair heur\t%0.2f\n",pr.slh);

fclose(f);
};

void lectur()
{
f=fopen("personnel.txt","r+");
while (f !=0)
{
fscanf(f,"\tcode :%d \n " ,pr.code);
printf ("\tcode :%d \n" ,pr.code);

fscanf(f," \tnom :%s \n" ,pr.nom);
printf (" \tnom :%s \n" ,pr.nom);

fscanf(f,"\tprenom :%s\n" ,pr.prenom);
printf ("\tprenom :%s\n" ,pr.prenom);

fscanf(f,"\tnombre dheur :%d\n" ,pr.nbh);
printf ("\tnombre dheur :%d\n" ,pr.nbh);

fscanf(f,"\tsalair par heur :%0.2f\n" ,pr.slh);
printf( "\tsalair par heur :%0.2f\n\n" ,pr.slh);
fin();
}
fclose(f);
}

main()
{
/*menu();
init();
lectur();
fin();*/
switch choix
{ case 1 : menu(); break;
case 2 :
case 3 :
case 4 :
case 5 :
case 6 :fin();break;
}
Configuration: Windows XP Internet Explorer 6.0

2 réponses

  1. en c++
    il faut utiiser la bibitheque <fstream>
    0
    1. #include <fstream>
      #include <iostream>
      #include <string>
      using namespace std;
      struct
      {
      int code;
      string nom;
      string prenom;
      int nbh;
      float slh;
      }pr;
      int menu()
      { int x;
      cout <<"\n __________________________________\n";
      cout <<" | lecture________________"<<1 <<" |"<< endl;
      cout <<" | modification__________"<<2 <<" |"<< endl;
      cout <<" | suppression___________"<<3 <<" |"<< endl;
      cout <<" | recherche_____________"<<4 <<" |"<< endl;
      cout <<" | affichage_____________"<<5 <<" |"<< endl;
      cout <<" | fin___________________"<<6 <<" |"<< endl;
      cout <<" |__________________________________|" << endl;
      cout << "\t\n choisie un chiffre de menu :\n ";
      cin >> x;

      while(x<1 || x>6)
      {
      cout <<"\t\n choix invalide retourner au menu "<<endl;
      cout <<"\n __________________________________\n";
      cout <<" | lecture________________"<<1 <<" |"<< endl;
      cout <<" | modification__________"<<2 <<" |"<< endl;
      cout <<" | supprestion___________"<<3 <<" |"<< endl;
      cout <<" | recherche_____________"<<4 <<" |"<< endl;
      cout <<" | affichage_____________"<<5 <<" |"<< endl;
      cout <<" | fin___________________"<<6 <<" |"<< endl;
      cout <<" |__________________________________|" << endl;
      cout << "\t\n choisie un chiffre de menu :\n ";
      cin >> x;
      }
      }
      int fin()
      { int a;
      cout << "fin du programme taper 5 pour quitter :";
      cin >>a;
      return (a);
      }
      void init()
      { ofstream f("personnel.txt",ios::app );//ouverture du fichier en ajut
      if(f==0){cout<<"impossibe d'ouvrir e fichier"<<endl;
      exit(1);}
      cout <<" taper votre code :";
      cin >> pr.code;
      f<<pr.code<<" \n";
      cout <<" taper votre nom :" ;
      cin >>pr.nom;
      f<<pr.nom<<"\n ";

      cout << " taper votre prenom :";
      cin >>pr.prenom;
      f<<pr.prenom<<"\n ";

      cout << " taper votre nombre d'heur :";
      cin >> pr.nbh;
      f<<pr.nbh<<"\n ";
      cout << " taper votre salaire :";
      cin >> pr.slh;
      f<<pr.slh<<"\n ";
      fclose(f);
      };
      void lecture()
      {
      ifstream f("personne.txt");
      while (f.eof()!=1)
      {
      getline(f,pr.code);
      cout<<pr.code;

      getline(f,pr.nom);
      cout<<pr.nom;

      getline(f,pr.prenom);
      cout<<pr.prenom;

      getline(f,pr.nbh);
      cout<<pr.nbh;

      getline(f,pr.slh);
      cout<<pr.slh;
      fin();
      }
      f.close();
      }
      int main()
      {
      menu();
      init();
      lecture();
      fin();
      return 0;
      };
      //si tu veux utiliser un switch dans le main il faut mettre la fonction menu et réecrire le code
      //essaie ce code les fichiers textes sont correctes
      0