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 :

contruction d'une liste chainée a partir d'un fichier


Sujet :

C++

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut contruction d'une liste chainée a partir d'un fichier
    Bonjour j'ai un programme a faire qui est tout bien expliquer dans le document suivant:https://wprodl.uqac.ca/site_cours/ap...hiver2015&dl=0

    j'ai commencer a faire mes fichier:

    struct.h
    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
     
    #include <string>
     
    struct Cours
    {
    	char*sigle;
    	Cours*suivant;
    };
     
    struct Etudiants
    {
    	char*nom;
    	Etudiants*suivant;
    };
     
    struct Professeur
    {
    	char*nom; 
    	char*prenom; 
    	Cours*listecours; 
    	Etudiants*listetudiants;
    	Professeur*suivant;
    };
    DossierProfesseur.h

    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
     
    #pragma once
    #ifndef Def_Dossier
    #define Def_Dossier
    #include <string>
    #include "Struct.h"
     
     
    class DossierProfesseur
    {
    private:
    	Professeur * tete; // Début de la liste chainée
    	Professeur * courant; 
    	Professeur * queue;
    public:
    	DossierProfesseur(char * FP); // Constructeur
    	~DossierProfesseur(); // Destructeur
    	void Supprimer(char*nom, char*prenom); // Supprime un professeur donnée
    	char*afficherleprofplusetudiant()const; // Affiche le nom du professeur ayant le plus d'étudiant
    	char*affichercoursleplusdemande()const; // Affiche le sigle du cours le plus demander
    	int affichernbreprofpouruncours(char*coursdonne) const; // Affiche le nombre de professeur pour le coursdonne
    	void Recopier(char*FP); //Recopie la liste chainée dans le fichier FP
    };
    #endif
    Et DossierProfesseur.cpp
    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
     
    #include "DossierProfesseur.h"
    #include <cassert>
    #include<string>
    #include <fstream>
    #include <iostream>
    using namespace std;
     
    int main()
    {
    	ifstream FP;
    	FP.open("FichierFP.txt");
    	if (FP)
    	{
     
    		//Instruction;
    		FP.close();
    	}
    	else
    		cout << "Impossible d'ouvrir le Fichier" << endl;
    	return 0;
    }
    DossierProfesseur::DossierProfesseur(char*FP)
    {
     
     
    }
     
    DossierProfesseur::~DossierProfesseur()
    {
     
    }
     
    void DossierProfesseur::Supprimer(char*nom, char*prenom) // Supprime un professeur donnée
    {
     
    }
     
    char*DossierProfesseur::afficherleprofplusetudiant() const // Affiche le nom du professeur ayant le plus d'étudiant
    {
     
    }
     
    char*DossierProfesseur::affichercoursleplusdemande() const // Affiche le sigle du cours le plus demander
    {
     
    }
     
    int DossierProfesseur::affichernbreprofpouruncours(char*coursdonne) const // Affiche le nombre de professeur pour le coursdonne
    {
     
    }
     
    void DossierProfesseur::Recopier(char*FP) //Recopie la liste chainée dans le fichier FP
    {
     
    }
    Voila ce que j'ai de fait... Je sais même pas si je suis bien partie????
    Ma question est qu'est-ce que je mets dans mon constructeur ??? je ne sais pas comment créer ma liste chainée a partir de tous ça????
    Je suis vraiment perdu j'ai fait plusieurs rechercher mais je n'arrive pas a débloquer.

    je suis débutante en programmation alors je ne sais pas tout encore

    Merci pour votre aide

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 162
    Points
    17 162
    Par défaut
    Pour commencer, rale auprès de ton professeur pour être autorisé a ajouter des constructeurs et fonctions au structures exigées.
    De même, essaie d'avoir accès aux string, plutot qu'au char* (c'est encore plus important)

    Puis, poses toi la bonne question: qu'est-ce qu'un pointeur?
    Puis, en quoi cela peut-il t'aider?

    Par ailleurs, écris ton code en utilisant std::list, ce qui te donnera une architecture, avant de coder ta propre liste.


    Pour information, tu auras besoin d'utiliser new, delete, et des tas de fonctions complémentaires que tu devras coder, pour le parcours, l'ajout et la suppression dans une liste (pour autant de type différent de liste).

  3. #3
    Membre confirmé Avatar de KsassPeuk
    Homme Profil pro
    Ingénieur Chercheur
    Inscrit en
    Juillet 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 138
    Points : 635
    Points
    635
    Par défaut
    Et pète les genoux de ton prof de ma part.

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 162
    Points
    17 162
    Par défaut
    Je n'osais pas le suggérer, mais c'est vrai qu'il ne semble pas très frais côté C++.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 141
    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 141
    Points : 12 245
    Points
    12 245
    Par défaut
    Et pète les genoux de ton prof de ma part.
    Ouais, bof, il doit déjà être tellement dinosaure qu'il doit marcher en déambulateur.

    Faudrait surtout le sortir de son placard pour lui faire prendre l'aire.

    Mais sans déconner, faudrait que vous, ses élèves, vous lui foutiez la honte.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    dison qu'il n'est pas très jeune alors ces fort possible qu'il soit un peu beaucoup retarder!!!! je dois tout de même réussir a faire ce travail je le voie vendredi alors je lui parlerai pour modifier les char* par des string... je pense pas que les struc soit fixe je doit pouvoir ajouter des fonctions mais je sais pas vraiment part ou commencer je sais qu'il faut que je lise mon fichier ensuite je construit mes struc dans un tableau????? ou directement dans ma liste chainée????

  7. #7
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 162
    Points
    17 162
    Par défaut
    En vrai, tu ne lis pas un élément de la liste.
    Tu lis un élément, que tu mets dans une liste.

    Il y a deux fonctionnalités, et donc deux fonctions impliqués: lire_element() et ajouter_dans_liste(element).
    A toi de voir réfléchir à comment les écrire en pratique.

    Divise toujours ton travail.
    Si une chose mérite un nom, il faut un type dédié (un typedef ou une structure).
    Si tu vois une action, c'est une fonction.
    Si tu peux la diviser en plusieurs parties, ce sont plusieurs fonctions de la couche d'abstraction inférieure.

    En général, tu finis avec des tas de petits Bidule™, et pour chacun, des fonctions créer, détruire, des lectures, et des remplissages (quand ce sont des groupes: liste, set, plateau de jeu, camion)
    ainsi que des fonctions plus proche du problème, et moins terre à terre, qui se servent des précédentes pour résoudre le problème du programme.

    Quand tu apprendras à faire des bibliothèques, chaque petit module correspond à une bibliothèque de base

  8. #8
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 626
    Points : 30 684
    Points
    30 684
    Par défaut
    Salut,

    Pour ce que j'en ai vu, la solution devrait pouvoir ressembler à quelque chose comme ca, pour la liste des cours :
    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
    #include <string>
    #include <list>
    #include <fstream>
    /* en C++11, nous ferions plutot
    using Cours = std::string
    */
    typedef std::string Cours; 
    int main(){
       std::list<Cours> tousLesCours;
       std::ifstream ifs("nom_du_fichier_contenant_la_liste_des_cours");
       std::string temp;
       while((ifs>>temp)){
           tousLesCours.push_back(temp);
       }
    }
    Avoue que, d'une manière ou d'une autre, c'est quand meme beaucoup plus simple que ce que ton prof s'attend à avoir

    Alors, oui, il est toujours sympa de savoir comment coder sa propre liste chainée (et encore : sympa != utile et encore moins indispensable ) ... pour la culture générale, et parce qu'elle implique certains mécanisme qu'il est intéressant d'avoir abordé un jour ou l'autre. Mais, a priori, il ne faut pas commencer à aborder ce problème en C++ avant d'avoir déjà bien avancé dans l'apprentissage du langage. C++ n'est pas du C!!!
    je l'aurais encore bien écrit en plus grand si j'avais pu

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    N'y a-t-il pas moyen de se passer directement de la boucle while avec des trucs du genre copy, istream_iterator et back_inserter?

  10. #10
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 744
    Points : 3 646
    Points
    3 646
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    N'y a-t-il pas moyen de se passer directement de la boucle while avec des trucs du genre copy, istream_iterator et back_inserter?
    Rien que ces 3 éléments impliques: algorithme, itérateur et foncteur. Certes, les apprendre est une bonne chose, mais 3 concepts d'un coup fait beaucoup pour un débutant.

    Et std::copy(std::istream_iterator<char>(ifs), std::istream_iterator<char>(), std::back_inserter(listeDecours)) est sacrément plus complexe à appréhender que la petite boucle de Koala01.
    Peut-être avec des ranges (std::copy(std::istream_range(ifs), std::back_inserter(listeDecours))) ? Et encore...

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bonjour je suis de retour, j'ai avancer dans la programmation de ma liste chainée sauf que j'ai un petit bogue j'ai une fonction qui faut que j'affiche le cours le plus demander. chaque cours est une struc avec un char*sigle et un Cours*suivant dedans. je doit passer a travers tout mes cours pour compter combien de fois ils reviennent chacun et ensuite retourner le sigle du cours qui est revenu le plus souvent. je me doute bien que je vais devoir mettre chaque sigle de cours dans un tableau mais cest comment je procède pour faire le calcul que je suis pas sur.
    Est-ce que je lis un sigle ensuite je le mets dans un tableau et a chaque fois que je lis un nouveau sigle je le compare a chacun et si il est pas la je l'ajoute au tableau sinon j'incrémente le compteur du sigle pour ensuite passer a travers les compteur et faire resortir lui qui est le plus élevé.
    je trouve que je me complique beaucoup la vie et je suis pas sur de savoir comment programmer ca donc il doit y avoir une facon plus simple de compte le nombre de fois que chaque sigle reviennent????

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    char* encore?

    Si le prof ne te laisse pas utiliser std::string, commence par te refaire une classe de string, ça t'évitera bien des problèmes.

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Je ne peux pas, il faut que mes fonctions soient faites à partir des strucs qu'il a fourni......

  14. #14
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Dans ce cas, dis à ton prof qu'il n'est pas en train de vous enseigner le C++.

  15. #15
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 162
    Points
    17 162
    Par défaut
    Car le C++ moderne n'est pas du C.
    Du tout.

    C'est une toute autre philosophie, basée sur la sureté des données, et des interfaces de services.

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Je comprend bien tout ca mais cela ne me permet pas d'avancer dans mon programme!!!

  17. #17
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    voila ce que j'ai de fait pour mon programme il y a encore beaucoup d'erreur. mais svp arreter de me dire que mon prof est retarder et qu'il enseigne mal je peu pas y faire grand chose, il faut tout de meme que je fasse ce programme... Merci de votre compréhension.
    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
     
    #include "DossierProfesseur.h"
    #include <cassert>
    #include<string>
    #include <fstream>
    #include <iostream>
    #include <list>
     
    using namespace std;
     
    int main()
    {
    	DossierProfesseur* prof = new DossierProfesseur("C:\\Users\\Fred\\Desktop\\université\\8SIF109 programmation\\2ieme fois\\Devoir #1\\DossierProfesseur\\FichierFp.txt");
    	DossierProfesseur* Prof = new DossierProfesseur("C:\\Users\\Fred\\Desktop\\université\\8SIF109 programmation\\2ieme fois\\Devoir #1\\DossierProfesseur\\FichierFt.txt");
    	Lecture_Fichier_Ft(string FT);
    	system("PAUSE");
    }
    DossierProfesseur::DossierProfesseur(string FP)
    {
     
    ifstream fichier(FP, ios::in);  // on ouvre le fichier en lecture
     
    		if (fichier)  // si l'ouverture a réussi
    		{
    			cout << " Lefichier est ouvert! /n";
    		}
    		else  // sinon
    			cerr << "Impossible d'ouvrir le fichier !" << endl;
    		char Ligne[20];
    		int cpt = 0;
     
    		while (fichier.eof()) // tant que c'est pas la fin du fichier
    		{
    			tete = new Professeur; // Créer un nouveau professeur
    			fichier >> Ligne; // lire une ligne
    			tete->nom=Ligne; //affecter ligne a la bonne variable(nom)
    			fichier >> Ligne;//lire la ligne suivante
    			tete->prenom= Ligne;//affecter ligne a la bonne variable(prenom)
    			while (cpt < 2) // tant que cpt est plus petit que 2
    			{
    				fichier >> Ligne;// lire une ligne du fichier
    				if (Ligne == "&") // si Ligne est égale au symbole
    					cpt++;			// incrémenter cpt
    				else if (cpt == 0) // sinon, si cpt est égale a 0
    				{
    					tete->listecours = new Cours;  // créer un nouveau cours
    					tete->listecours->sigle = Ligne;			// affecter la ligne a a la bonne variable (sigle)
    				}
    				else if (cpt == 1) // sinon,si cpt est égale a 1
    				{
    					tete->listetudiants = new Etudiants; // créer un nouvel étudiant
    					tete->listetudiants->nom = Ligne;					// affecter la ligne a la bonne variable ( nom)
    				}
     
    			}
    			cpt = 0;
    		}
     
     
     
    		fichier.close();	// fermer le fichier
    }
     
    DossierProfesseur::~DossierProfesseur()
    {
     
    }
     
    void DossierProfesseur::Supprimer(char*nom, char*prenom) // Supprimer un professeur donnée
    {
    	Professeur*tmp = tete;
    	if (tete == NULL)
    		 cout<<" La Liste est vide";
    	while (tete != NULL)
    	{
     
    		if ((tete->nom == nom) && (tete->prenom == prenom))
    		{
    			delete tete;
    		}
    		else
    			tete = tete->suivant;
    	}
     
    }
     
    char*DossierProfesseur::afficherleprofplusetudiant() const // Affiche le nom du professeur ayant le plus d'étudiant
    {
     
    }
     
    char*DossierProfesseur::affichercoursleplusdemande() const // Affiche le sigle du cours le plus demander
    {
     
    }
     
    int DossierProfesseur::affichernbreprofpouruncours(char*coursdonne) const // Affiche le nombre de professeur pour le coursdonne
    {
     
    }
     
    void DossierProfesseur::Recopier(char*FP) //Recopie la liste chainée dans le fichier FP
    {
     
    }
    void Lecture_Fichier_Ft(string FT)
    {
    	ifstream operation(FT,ios::in);
     
    	if (operation)
    		cout << "Le Fichier Ft est ouvert!\n";
    	else
    		cerr << "Impossible d'ouvrire le fichier FT" << endl;
     
    	char c;
    	while (operation.eof())
    	{
    		operation >> c;
    		if (c == '-')
    			void Supprimer(char*nom, char*prenom);
    		else if (c == '#')
    			char*afficherleprofplusetudiant()const;
    		else if (c == '*')
    			char*affichercoursleplusdemande() const;
    		else if (c == '%')
    			int affichernbreprofpouruncours(char*coursdonne) const;
    		else if (c == '$')
    			void Recopier(char*FP);
    	}
    	operation.close();
    }
    mes deux autre fichiers sont les suivants:
    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
     
    #include <string>
     
    struct Cours
    {
    	char*sigle;
    	Cours*suivant;
    };
     
    struct Etudiants
    {
    	char*nom;
    	Etudiants*suivant;
    };
     
    struct Professeur
    {
    	char*nom; // Pointeur sur un caractère
    	char*prenom; // Pointeur sur un caractère
    	Cours*listecours; // Pointeur sur l'objet Cours
    	Etudiants*listetudiants; // Pointeur sur l'objet Etudiants
    	Professeur*suivant; // Pointeur sur l'objet Professeur suivant
    };
    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
     
    #pragma once
    #ifndef Def_Dossier
    #define Def_Dossier
    #include <string>
    #include "Struct.h"
    using namespace std;
     
    class DossierProfesseur
    {
    private:
    	Professeur * tete; // Début de la liste chainée
    	Professeur * courant; 
    	Professeur * queue;
    public:
    	DossierProfesseur(string FP); // Constructeur
    	~DossierProfesseur(); // Destructeur
    	void Supprimer(char*nom, char*prenom); // Supprime un professeur donnée
    	char*afficherleprofplusetudiant()const; // Affiche le nom du professeur ayant le plus d'étudiant
    	char*affichercoursleplusdemande()const; // Affiche le sigle du cours le plus demander
    	int affichernbreprofpouruncours(char*coursdonne) const; // Affiche le nombre de professeur pour le coursdonne
    	void Recopier(char*FP); //Recopie la liste chainée dans le fichier FP
    };
    #endif
    comme vous pouvez le voir plusieurs fonction ne son pas coder et quelques erreurs se glisse tout au long de mon code déjà fait . alors je compte sur vous pour maider a résoudre certain problème si possible je suis un peu décourager.....

  18. #18
    Rédacteur/Modérateur


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

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 125
    Points : 33 029
    Points
    33 029
    Billets dans le blog
    4
    Par défaut
    Pourquoi inclure string et list si c'est pour pas les utiliser ?

  19. #19
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    on ma dit d'inclure sa pour enlever certaine erreur qui empêchais de compiler.....

  20. #20
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Je suis même pas sur que le constructeur de ma liste chainée soit bon!!!!!

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/01/2014, 19h21
  2. Réponses: 17
    Dernier message: 09/06/2011, 00h50
  3. Réponses: 3
    Dernier message: 16/07/2009, 18h00
  4. Réponses: 2
    Dernier message: 22/05/2009, 15h06
  5. Réponses: 22
    Dernier message: 18/06/2008, 19h01

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