IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Lire une liste d'un fichier


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 12
    Points : 0
    Points
    0
    Par défaut Lire une liste d'un fichier
    classe employé (cin,nom,prenom,date de naissance ,dernier salaire)
    classe département(code,designation,date de creation)
    1/cree une classe employe et departe avec les geter's et les seters.
    2/ajout/supression/trie /recheche/... etc .....
    .....
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    #include <iostream>
    #include<string>
    class date{
    	int jour;
    	int mois;
    	int annee;
    	public:
    		date(){}
    		date(int a,int b,int c){
    			jour=a; mois=b; annee=c;
    		}
    		void affiche(){
    		std::cout<<jour<<"_"<<mois<<"_"<<annee<<std::endl;
    		}
    		date saisie_date() {
    		int a,m,j;
    		std::cout<<"jour";
    		std::cin>>j;
    		std::cout<<"mois";
    		std::cin>>m;
    		std::cout<<"annee";
    		std::cin>>a;
    		date d(j,m,a);
    		return d;
    		}
     
     
    };
     
    class employe{
    	std::string nom;
    	std::string prenom;
    	date date_nai;
    	float dern_sal;
    	int cin;
        public:
        employe(){}
    	employe(std::string a,std::string b, date c, float d, int e){
    	nom=a;	prenom=b; date_nai=c; dern_sal=d;cin=e;
    	}
    	void set_nom(std::string a ){
    	nom=a;
    	}
    	void set_prenom(std::string a){
        prenom=a;
    	}
    	void set_date(date a){
    	date_nai=a;
    	}
    	void set_sal(float a){
    	dern_sal=a;
    	}
        void set_cin(int a){
    	cin=a;
    	}
        std::string get_nom(){
    	return nom;
    	}
    	std::string get_prenom(){
    	return prenom;
    	}
        date get_date(){
    	return date_nai;
    	}
    	float get_sal(){
    		return dern_sal;
    	}
    	int get_cin(){
    		return cin;
    	}
    	employe saisie_emp(){
    		 	std::string nom;std::string prenom;date date_nai;float dern_sal;int cin;
    			std::cout<<"saisie employe"<<std::endl;
    		 	std::cout<<"nom";
    		 	std::cin>>nom;
    		 	std::cout<<"prenom";
    		 	std::cin>>prenom;
    		    date_nai=date_nai.saisie_date();
    		 	std::cout<<"dern_sal";
    		 	std::cin>>dern_sal;
    		 	std::cout<<"cin";
    		 	std::cin>>cin;
    		 	employe e(nom,prenom,date_nai,dern_sal,cin);
    		 	return e;
    		 }
    	};
    	 class departement {
    	 	int code;
    	 	std::string designation;
    		date date_cre;
    	 	employe emp_liste[100];
    	 	int nbr_emp;
    		 public:
    		departement (int a, date b){
    	 		code=a; date_cre=b;
    		 }
    		 int get_code(){
    		 	return code;
    		 }
    		 std::string get_desi(){
    		 	return designation;
    		 }
    		 date get_date(){
    		 	return date_cre ;
    		 }
    		 void set_code(int a){
    		 	code=a;
    		 	}
    		void set_desi(std::string a){
    		 	designation=a;
    		 	}
    		void set_date(date a){
    			date_cre=a;
    		}
     
     
    		 //question 5
    		 void ajouter_emp(std::string opt){
    		 employe e;
    		 e=e.saisie_emp();
    		 if(nbr_emp==0){emp_liste[0]=e; nbr_emp++;}
    		 else {if(opt=="debut"){
    			 for(int i=(nbr_emp-1);i>=0;i=i-1){
    		 		emp_liste[i+1]=emp_liste[i];
    			 }
    			 emp_liste[0]=e; nbr_emp++;
    		 }
    		 else{
    		 	emp_liste[nbr_emp]=e; nbr_emp++;
    		 }	
    		 }}
    		 //question 6
    		 int chercher_emp(int cin){
    		 	for(int i=0;i<nbr_emp;i++){
    		 		if(emp_liste[i].get_cin()==cin) return i;
    			 }
    			 return -1;
    		 }
    		 //question 7
    		 void modifier_emp(int cin){
    			 int i=chercher_emp(cin);
    			 employe e;
    			 emp_liste[i]=e.saisie_emp(); 
     
    			 }
    		//question 8	 
    		void supprimer_emp(employe e){
    		int i=chercher_emp(e.get_cin());
    		if(i!=-1){
    		for(int j=i;j<nbr_emp-1;j++) emp_liste[j+1]=emp_liste[j];
    		nbr_emp--;
    		}}
     
    		//question 9
    		void trier(){
    		int i,j;
    		std::string a;
    			for(i=0;i<nbr_emp-1;i++){
    				for(j=i+1;j<nbr_emp;j++){
    					if(emp_liste[i].get_nom()>emp_liste[j].get_nom()){
    						a=emp_liste[i].get_nom();
    						emp_liste[i].get_nom()=emp_liste[j].get_nom();
    						emp_liste[j].get_nom()=a;
    					}
    				}
    			}
    		}
     
    	 };
     
     
     
     
      int main(){
      	return 0;
      }

    aide moi a reussir ces deux questions et merci..
    *ajouter une methode qui permet de recuperer la liste des employés a partir d'un fichier binaire employe.inf et une autre methode qui permet de changer la liste des département a partir d'un fichier dep.inf
    *ecrire une methode qui permet de sauvegarder les mises a jour faites par un utilisateur apres chaque suppression ,modification,ajout ,et tri dans la liste des employés

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hmizo Voir le message
    *ajouter une methode qui permet de recuperer la liste des employés a partir d'un fichier binaire employe.inf et une autre methode qui permet de changer la liste des département a partir d'un fichier dep.inf
    *ecrire une methode qui permet de sauvegarder les mises a jour faites par un utilisateur apres chaque suppression ,modification,ajout ,et tri dans la liste des employés
    Alors c'est simple:
    1) il faut que tu ajoutes une méthode qui permet de recuperer la liste des employés a partir d'un fichier binaire employe.inf
    2) il faut que tu ajoute une méthode qui permet de changer la liste des département a partir d'un fichier dep.inf
    3) il faut que tu ajoutes une méthode qui permet de sauvegarder les mises a jour faites par un utilisateur apres chaque suppression ,modification,ajout ,et tri dans la liste des employés

    Et normalement, une fois que tu auras fait ces étapes, tu auras finis ton exercice .
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 12
    Points : 0
    Points
    0
    Par défaut
    c'est simple pour toi .moi je suis qu'un débutant et de plus c'est pas mon domaine....c'est seulement un projet j'ai réussi 9 questions il me reste 2 si vous pouvez m'aide merci .sinon j'attends des indications des gens qui peuvent m'aider a réaliser ce projet et merci

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 071
    Points : 12 116
    Points
    12 116
    Par défaut
    Pas de bol, la réponse de @skeud est la meilleure.

    Et pour faire ce qu'il te demande, il faut des connaissances qui ont déjà été utilisées dans le code posté.

    Donc, soit tu buttes sur un truc complètement con, mais là, faudrait être plus précis sur le problème.
    Soit t'as copié sans comprendre le code existant, et il te reste à le comprendre.
    Par exemple, pourquoi "#include <iostream>" ?

    Donc tu sais ce qu'est un stream, alors le contenu du lien suivant, c'est pas du chinois et ça devrait être dans ton cours.
    http://www.cplusplus.com/reference/fstream/

  5. #5
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2016
    Messages : 20
    Points : 46
    Points
    46
    Par défaut
    Tu dois une fois lire dans un fichier, une autre fois écrire dedans.
    Pour lire un fichier il faut utiliser http://www.cplusplus.com/reference/fstream/ofstream/.
    Pour écrire http://www.cplusplus.com/reference/fstream/ifstream/.

    J'ignore comment est organisé un fichier .inf mais si une ligne correspond à un utilisateur dont les informations sont distingués par un séparateur alors :
    En lecture :
    1)ouvrir ton fichier
    2)prendre une ligne
    3)isoler les données en parcourant chaque caractère et en s'arrêtant à chaque fois au séparateur de ton fichier
    4)instancier ton objet grâce au données que tu as isolé à l'étape 2
    5)le stocker dans un tableau
    6)recommencer à l'étape 2) jusqu'à avoir traité tout ton fichier
    7)afficher le tableau

    En écriture :
    1)ouvrir ton fichier
    2)parcourir le tableau qui stocke tes objets
    3) créer une chaine de caractère qui concataine toutes les informations qui définissent par exemple ton employé (nom,prenom,date de naissanace,salaire,cin) en mettant entre chacun d'eux un séparateur unique.
    4) écrire ta chaine de caractère dans ton fichier.
    5)recommencer l'étape 2) jusqu'à avoir parcouru tout ton tableau.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Maliono Voir le message
    L'inverse en fait
    o(f)stream : output : écriture
    i(f)stream : input : lecture
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SP-2007] lire une liste de fichier infopath comme bdd
    Par benneb dans le forum SharePoint
    Réponses: 3
    Dernier message: 23/11/2009, 08h52
  2. Réponses: 0
    Dernier message: 11/02/2008, 18h01
  3. Lire une ligne dans un fichier
    Par dbozec dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2006, 23h22
  4. [VB6]Lire une partie d'un fichier .txt
    Par patoch76 dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 02/05/2006, 20h49
  5. Sauvegarder/Lire une classe dans un fichier
    Par Rodrigue dans le forum C++
    Réponses: 10
    Dernier message: 10/09/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo