Structure de donné (classe-liste chainée)
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Structure de donné (classe-liste chainée)



  1. #1
    l4213

    Structure de donné (classe-liste chainée)


    ------

    Bonjour j'ai un problème avec la lecture d'une partie de mon programme j'ai indiquer l'endroit qui est l'affectation des cours j'ai vraiment besoin d'aide
    :

    Code:
    #include<iostream>
    #include<cstring>
    #include<fstream>
    #include <string>
    #include"DossierProfesseur.h"
    #include"Professeur.h"
    #include"Cours.h"
    #include"Etudiant.h"
    using namespace std;
    
    int main()
    {
    	DossierProfesseur();
    
    	system("PAUSE");
    }
    DossierProfesseur::DossierProfesseur()
    {
    	fstream entree("FP.txt", ios::in);
    	if (entree.is_open())
    	{
    		cout << " Lefichier est ouvert! /n";
    
    	}
    	else  // sinon
    		cout << "Impossible d'ouvrir le fichier !" << endl;
    	char *line = new char[10];
    
    	int i=0;
    	while (!entree.eof())
    	{
    		tete = new Professeur;
    		entree >> line;
    		tete->nom = line;
    
    		line = new char[10];
    		entree >> line;
    		tete->prenom = line;
    		line = new char[10];
    		
    		while(i<2)
    		{
    			
    			//entree >> line;// lire une ligne du fichier
    			if (line == "&") // si Ligne est égale au symbole
    				i++;			// incrémenter cpt
    			else if (i == 0) // sinon, si cpt est égale a 0
    			{
    
    le problème est	ici->			Cours* listecours = new Cours;
    				entree >>  line;
    				listecours->sigle == line;  // créer un nouveau cours
    							// affecter la ligne a a la bonne variable (sigle)
    			}
    			else if (i == 1) // sinon,si cpt est égale a 1
    			{
    
    				tete->listetudiants = new Etudiant; // créer un nouvel étudiant
    				tete->listetudiants->nom = line;					// affecter la ligne a la bonne variable ( nom)
    				cout << "Etudiant OK" << endl;
    			}
    			
    		}
    		i = 0;
    		entree.close();
    	}
    
    	fstream entree2("FO.txt", ios::in);
    	if (entree2.is_open())
    	{
    		cout << " Lefichier est ouvert! /n";
    
    	}
    	else
    		cout << "Impossible d'ouvrir le fichier !" << endl;
    	while (!entree2.eof())
    	{
    		char choix;
    		cout << "Entrer votre choix de caracter(-, #, *, %, $)"<<endl;
    		cin >> choix;
    		
    		switch(choix)
    		{
    		case '-': void Supprimer(char* nom, char* prenom);
    			break;
    		case'#': void AfficherLeProfPlusEtudiant() ;
    			break;
    		case'*': void AfficherCoursPlusDemande();
    			break;
    		case'%': void AfficherNbreProfPourUnCours(char* coursdonne);
    			break;
    		case'$': void recopier(char* FP);
    			break;
    		}
    	}
    
    	std::cout << "Lecture du fichier encours..." << endl;
    	ifstream fluxEntree("FP.txt");
    	if (fluxEntree) {
    		string ligne;
    		int i = 1;
    		int cptSeparateur = 0;
    
    
    		string name, firstName;
    		bool b = false;
    		bool etud = false;
    		bool profSuivant = false;
    		while (getline(fluxEntree, ligne) && ligne != "")
    		{
    			if (ligne != "&") {
    				if (!b) {
    					//get nom prenom et cours
    					if (i == 1) {
    						name = ligne;	// diallo
    						cout << name << endl;
    
    					}
    					if (i == 2) {
    						firstName = ligne; // Mamadou
    						cout << firstName << endl;
    
    					}
    					if (i >= 3 && !etud) {
    						// create cours; // INF100 ; INF101 ; INF102
    						cout  << ligne << endl;
    					}
    					i++;
    				}
    				else {
    					if (etud) {
    						cout << ligne << endl;
    					}
    					i++;
    				}
    			}
    			else { // ligne == &
    				b = true;
    				cptSeparateur++;
    				if (cptSeparateur % 2 != 0) { // faisons compteur == 1
    					etud = true;
    					cout <<  ligne << endl;
    				}
    				else {
    					profSuivant = true;
    					b = false;
    					i = 1;
    					etud = false;
    					cout << "On passe au prof suivant " << ligne << endl;
    				}
    			}
    		}
    	}
    }
    
    DossierProfesseur::~DossierProfesseur()
    {
    	while (tete != NULL)
    	{
    		/*tete = tete->suivant;
    		delete tete;*/
     }
    }
    void DossierProfesseur::Supprimer(char* nom, char* prenom)
    {
    /*	char prof[10];
    	
    	cout << " Entrer le nom et prenom du professeur" << endl;
    	cin >> prof;
    	Professeur*prof = tete;
    	if (tete == NULL)
    		cout << "Professeur introuvable ";
    	else
    	{
    	   while (tete != NULL)
    		{
    
    		if ((tete->nom == nom) && (tete->prenom == prenom))
    		{
    			delete tete;
    		}
    		else
    			tete = tete->suivant;
    		}
    	}*/
    }
    
    void DossierProfesseur::AfficherLeProfPlusEtudiant() const
    {
    
    }
    
    void DossierProfesseur::AfficherCoursPlusDemande() const
    {
    }
    
    int DossierProfesseur::AfficherNbreProfPourUnCours(char* coursdonne) const
    {
    	return 0;
    }
    void DossierProfesseur::recopier(char* FP)
    {
    }

    -----
    Dernière modification par gienas ; 14/10/2020 à 18h24. Motif: Ajouté les balises code, obligatoires pour les programmes

  2. #2
    umfred

    Re : Structure de donné (classe-liste chainée)

    un message d'erreur peut-être ?
    je pense qu'il manque les parenthèses (pour appeler le constructeur) => Cours* listecours = new Cours();

  3. #3
    champetre

    Re : Structure de donné (classe-liste chainée)

    Bonjour,

    Tu as un problème de lecture avec TON programme ?

    En clair, tu l'a pris sur internet, et tu vas le faire passer comme étant ton travail ...

  4. #4
    Fustigator

    Re : Structure de donné (classe-liste chainée)

    Extraordinaire .....

    On ne sait pas ce que ce machin doit faire, le PO ne daigne même pas préciser le langage ni dans le titre ni dans son message, il a, parait il "un problème" (dont on ignore la nature ....)

    et il espère des réponses ......

    j'hallucine ....

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Structure de donné (classe-liste chainée)

    Bonsoir,

    c'est son premier message. Laissez-lui une chance de s'expliquer.

Discussions similaires

  1. Tri d'une liste chainée
    Par lilili92 dans le forum Programmation et langages, Algorithmique
    Réponses: 20
    Dernier message: 18/03/2022, 15h06
  2. Liste chaînée en c
    Par Leond95 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 15/08/2018, 18h12
  3. liste chainée, c++
    Par kemide dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 20/08/2015, 23h05
  4. [C]Liste chainée
    Par invite8b421ec7 dans le forum Programmation et langages, Algorithmique
    Réponses: 29
    Dernier message: 09/04/2011, 11h09
  5. liste chainée
    Par invite69686042 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 11/12/2010, 15h35