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 :

Probleme comparaison structure


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 115
    Par défaut Probleme comparaison structure
    Hello
    je vous expose mon probleme, j'ecrit dans un fichier une structure qui comporte "Adherent.nom" et dans un autre fichier une structure comportant "RDV.nom"
    et je souhaite comparer les 2 et lorsqu'elles sont egale, afficher la structure RDV.
    mais voila, cela marche uniquement lorsque les noms egaux sont à la meme position dans leurs fichiers respectif.
    Par exemple si adherent.nom = billy et est enregistrer en 2nd position dans le fichier, mais que RDV.nom = billy est en 3ieme position, le programme ne trouvera rien ...

    voici le 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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    #define NOM 30
    #define PRENOM 30
    #define DATE_NAISSANCE 10
    #define NIVEAU 30
    #define CONTACT 11
     
    typedef struct
    {
    	char Nom[NOM];
    	char Prenom[PRENOM];
    	char DateNaissance[DATE_NAISSANCE];
    	double Poids;
    	double Taille;
    	char Niveau[NIVEAU];
    	char Contact[CONTACT];
    } Adherent;
    typedef struct
    {
    	double Date;
    	double Heure;
    	char NomAdherent[NOM];
    } RDV;
    void adherentRDV(void) \\ gros soussie, si les enregistrement ne sont pas à la meme position dans le fichier, ca ne fonctionne pas
    {
    FILE* fichierRDV = NULL;
    FILE* fichierAdherent = NULL;
    	RDV RDV;
    	Adherent Adherent;
    	int retourRDV = 0, retourAdherent = 0;
    	int trouve = 0;
    	/*Effacer ecran*/
    	system("CLS");
     
    	/*Titre*/
    	printf("--- Liste RDV Adherents---\n\n");
     
    	/*Recuperation des données*/
    	fichierRDV=fopen("FichierRDV.txt","r");
    	fichierAdherent=fopen("FichierAdherent.txt","r");
     
    	if (fichierRDV != NULL && fichierAdherent != NULL)
    	{
    		retourRDV = fscanf(fichierRDV,"%lf\n%lf\n%s\n\n", &RDV.Date,&RDV.Heure,RDV.NomAdherent);
    		retourAdherent = fscanf(fichierAdherent, "%s\n%s\n%s\n%lf\n%lf\n%s\n%s\n\n",
    		Adherent.Nom, Adherent.Prenom, Adherent.DateNaissance, &Adherent.Poids, &Adherent.Taille, Adherent.Niveau, Adherent.Contact);
    		while(retourRDV != EOF && retourAdherent != EOF)
    		{
    			if (strcmp(Adherent.Nom, RDV.NomAdherent) == 0) 
    					{
    						printf("Adherent : %s a RDV a %.0f H le %.0f\n\n", RDV.NomAdherent, RDV.Heure, RDV.Date);
    					}
    		trouve =1;
    		retourRDV = fscanf(fichierRDV,"%lf\n%lf\n%s\n\n", &RDV.Date,&RDV.Heure,RDV.NomAdherent);
    		retourAdherent = fscanf(fichierAdherent, "%s\n%s\n%s\n%lf\n%lf\n%s\n%s\n\n",
    		Adherent.Nom, Adherent.Prenom, Adherent.DateNaissance, &Adherent.Poids, &Adherent.Taille, Adherent.Niveau, Adherent.Contact);
     
    		}
    		if(trouve!=1)
    		{
    			printf("Aucun Adherent n'a de RDV");
    		}
    		fclose(fichierRDV);
    		fclose(fichierAdherent);
    	}
    	else
    	{
    		printf("Impossible d'ouvrir le fichier");
    		getchar();
    	}
     
    	system("PAUSE");
    }
    Si vous avez des idées, n'hesitez pas
    Merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    tu lis tes 2 fichiers dans des tableaux de structure, et tu boucles...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 115
    Par défaut
    c'est pas ce qui est fait ?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    non là tu lis 2 structures, mais tu les écrases à chaque ligne..

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 115
    Par défaut
    Okai
    mais je ne voie pas comment faire
    j'aimerais quelques explication pliz

  6. #6
    Membre chevronné Avatar de corentin59
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 462
    Par défaut
    moi, je ferai une liste chainée qui contient toutes les structures du premier fichier, une deuxième liste chainée qui contient toutes les structures du second puis deux boucles imbriquées pour rechercher dans la liste 2 les noms de tous les éléments de la liste 1.

    Citation Envoyé par theoffss Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RDV RDV;
    Adherent Adherent;
    évite de donner aux variables le même nom que leur type, cela ne te viendrait pas à l'idée d'appeler une variable entière "int" ...

Discussions similaires

  1. Probleme taille structure / parsing tag mp3
    Par lucas_sophia dans le forum C
    Réponses: 6
    Dernier message: 19/03/2006, 16h56
  2. probleme comparaison d une partie d une chaine
    Par sneb5757 dans le forum PostgreSQL
    Réponses: 12
    Dernier message: 03/01/2006, 09h08
  3. Probleme comparaison de variable
    Par dynxd dans le forum Access
    Réponses: 2
    Dernier message: 02/10/2005, 21h48
  4. Probleme comparaison heure et minutes
    Par innosang dans le forum Bases de données
    Réponses: 5
    Dernier message: 13/05/2004, 08h40
  5. Réponses: 3
    Dernier message: 28/09/2003, 17h08

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