Fichier DEVc++

lg.aniss Messages postés 4 Statut Membre -  
 kas -
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. kas
     
    en c++
    il faut utiiser la bibitheque <fstream>
    0
  2. kas
     
    #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