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 :

Aide programme structure données !


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Par défaut Aide programme structure données !
    Salut , j'ai un problème au niveau du tri , ca n'affiche pas les moyennes triées aide svp !

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    typedef struct etudiant{
        char nom[30];
        int cne;
        float note1,note2,moyenne;
    }etudiant;
    float Moyenne(etudiant e)
    {
        return abs((e.note1+e.note2)/2);
    }
    void saisie(etudiant* info, int n)
    {
        int i;
        for(i=0;i<n;i++){
         printf("\n============SAISIE DES INFORMATIONS DU %d ETUDIANT =================\n", i+1);
         printf("Entrer votre nom:\t\n");
         scanf("%s", info[i].nom);
         printf("Entrer votre CNE:\t\n");
         scanf("%d", &info[i].cne);
         printf("Entrer votre 1 NOTE:\t\n");
         scanf("%f", &info[i].note1);
         printf("Entrer votre 2 NOTE:\t\n");
         scanf("%f", &info[i].note2);
         info[i].moyenne=Moyenne(info[i]);
         }
    }
     
    void tri(etudiant t[] ,int n)
    {
        etudiant v;
        int i,j;
        for(i=1; i<n ; i++)
        {
            v=t[i];
            j=i-1;
            while((v.moyenne<t[j].moyenne) && (j>=0))
            {
             t[j+1]=t[j];
             j=j-1;
            }
         t[j+1]=v;
        }
    }
    void affichage(etudiant* info ,int n)
    {
        int i=0;
        while(i<n){
        printf("\n***********AFFICHAGE DES INFORMATIONS DES ETUDIANTS***********\n");
        printf("Votre nom est %s\n", info[i].nom);
        printf("Votre CNE est %d\n", info[i].cne);
        printf("Votre 1 NOTE et 2 NOTE sont %f ET %f\n", info[i].note1, info[i].note2);
        printf("Votre Moyenne est %g\n", info[i].moyenne);
        i++;
        }
    }
     main()
    {
        etudiant t[20];
       int n,i;
       printf("Entrer le nombre d'etudiants\n");
       scanf("%d", &n);
       etudiant* info=(etudiant*)malloc(sizeof(etudiant)* n);
           saisie(info,n);
           tri(t,n);
           affichage(info,n);
        free(info);
            return 0;
    }

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        etudiant t[20];
    ....
       etudiant* info=(etudiant*)malloc(sizeof(etudiant)* n);
           saisie(info,n);
           tri(t,n);
           affichage(info,n);
    La saisie et l'affichage concerne le tableau info et le tri un autre tableau (t) qui d'ailleurs n'est pas initialisé.

  3. #3
    Membre actif
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Par défaut
    c'est à dire je remplace void tri(etudiant t[] ,int n) par void tri(etudiant*t ,int n) ? ou bien il ya t'il une autre méthode svp

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Citation Envoyé par onlinematchs Voir le message
    c'est à dire je remplace void tri(etudiant t[] ,int n) par void tri(etudiant*t ,int n) ? ou bien il ya t'il une autre méthode svp
    non, ces deux prototypes sont les mêmes.

    On s'attend à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       etudiant* info=(etudiant*)malloc(sizeof(etudiant)* n);
           saisie(info,n);
           tri(info,n);
           affichage(info,n);

  5. #5
    Membre actif
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Par défaut
    Merci bien! En tout cas quand j'ai remplacé etudiant t[] par etudiant* t ça a marché !

  6. #6
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Citation Envoyé par onlinematchs Voir le message
    Merci bien! En tout cas quand j'ai remplacé etudiant t[] par etudiant* t ça a marché !
    Cette modification ne change rien, tu as dû changer aussi autre chose.

Discussions similaires

  1. PROJET => Aide à la structure du programme
    Par Poupiboy dans le forum ALM
    Réponses: 0
    Dernier message: 14/01/2015, 14h55
  2. exemple de BD ? structure + donnée
    Par Melvine dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 26/10/2005, 10h03
  3. PERL AIDE PROGRAMMATION
    Par kiza dans le forum Langage
    Réponses: 2
    Dernier message: 17/10/2005, 16h57
  4. Méta-Programmation - [ structures de données ]
    Par Dam)rpgheaven dans le forum C++
    Réponses: 3
    Dernier message: 03/12/2004, 19h38

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