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 :

Calcul de moyenne avec coefficients


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Points : 0
    Points
    0
    Par défaut Calcul de moyenne avec coefficients
    Tout est dans le titre si une personne à un peu de temps à consacrer pour m'aider à corriger tous les défauts de mon code ça serai vraiment aimable ! Le code à pour but de calculer la moyenne d'un élève selon les coeff puis afficher pour tout les eleves; leur prénom, moyenne et classement (avec A,B,..)

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Tout est dans ma réponse.

    Montre-nous ton code, les endroits où ça coince. Nous pourrons peut-être alors t’aiguiller vers la solution 😉.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include "TableauMoyennes.h"
    #include "TableauPrenom.h"
    #include "TableauUV.h"
    #include "Statistique.h"
    #include "Acquisition.h"
    #include "Acquisition2.h"
     
     
    int main()
    {
    int x1,x2;
     
    char TabUV[8][8];
    float Moyenne[30][8];
     
     
    TableauMoyennes();
    TableauUV();
    TableauPrenom();
     
    printf("Que voulez-vous faire?");
    printf("\nPour entrer des notes tapez 1");
    printf("\nPour verifier des notes tapez 2\n");
    scanf("%d",&x1);
     
    if(x1==1)
    {
    Acquisition(Moyenne[30][8],TabUV[8]);
                }
    else
    {
      x2=Acquisition2();
     
      Statistique(Moyenne[30][8],x2);
    }
     
     
     
     
     
     
     
     
     
        return 0;
    }





    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
     
    #include "Acquisition.h"
    #include <stdio.h>
    #include "CalculMoyenne.h"
     
     
     
     
    void Acquisition(float Moyenne[30][8],char TabUV[8])
     
     { int k,i,j,x2;
     float M;
            do
            {
                for(k=1; k<8; k++)
                {
                    TableauUV();
                    printf("\n Choisir l'UV pour laquelle vous voulez rentrer des notes.\n");
                    scanf("%d",&x2);
                    switch(x2)
                    {
                    case 1 :
     
                        M=CalculMoyenne();
                        printf("Voici les moyennes de PSB\n\n");
     
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                                printf("%f  ",Moyenne[i][x2]);
                            printf("\n");
                        }
                        break;
                    case 2 :
                        M=CalculMoyenne();
                        printf("Voici les moyennes de PSB\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                            for(j=0; j<3; j++)
                            {
                                printf("%f  ",Moyenne[i][x2]);
                            }
                            printf("\n");
                        }
                        break;
                    case 3:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de TNA\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                            for(j=0; j<4; j++)
                            {
                                printf("%f  ",Moyenne[i][x2]);
                            }
                            printf("\n");
                        }
                        break;
                    case 4:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de LANGUE \n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                            for(j=0; j<5; j++)
                            {
                                printf("%f  ",Moyenne[i][x2]);
                            }
                            printf("\n");
                        }
                        break;
                    case 5:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de MDB\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
     
                                printf("%f  ",Moyenne[i][x2]);
                            printf("\n");
                        }
                        break;
                    case 6:
                        M=CalculMoyenne();
                        printf("Voici les moyennes d'IFB\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
     
     
                                printf("%f  ",Moyenne[i][x2]);
     
                            printf("\n");
                        }
                        break;
                    case 7:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de MG11\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
     
     
                                printf("%f  ",Moyenne[i][x2]);
     
                            printf("\n");
                        }
                        break;
                    case 8:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de ST10\n\n");
                        Moyenne[0][x2]=M;
     
     
                        for(i=0; i<30; i++)
                        {
     
     
                                printf("%f  ",Moyenne[i][x2]);
     
                            printf("\n");
                        }
                        break;
                    }
                }
            }
             while(x2<1 || x2>8);
     
     }



    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
    float CalculMoyenne()
     
     {
         int N, i,n;
         float Ai, S1, S2, M;
         char rep;
     
            {
     
         printf ("\nEntrez le nombre de notes n de votre serie : ");
         scanf ("%d", &n);
     
                S1 = 0;
                S2 = 0;
     
         printf("avez vous eu des finaux? O/N\n");
         rep=getch();
     
         if(rep=='O')
         {
     
     
             printf ("\nEntrez votre note : ");
             scanf ("%f", &Ai);
     
             S1 = S1+Ai+Ai+Ai;
             S2 = S2+(Ai+Ai+Ai)*(Ai+Ai+Ai);
             N=1;
     
             printf("avez vous eu des medians? O/N\n");
            rep=getch();
     
            if(rep=='O')
            {
     
                printf ("\nEntrez votre note : ");
                scanf ("%f", &Ai);
                S1 = S1+Ai+Ai;
                S2 = S2+(Ai+Ai)*(Ai+Ai);
                N=2;
     
     
                printf("avez vous eu des CC? O/N\n");
     
                rep=getch();
     
                if(rep=='O')
                {
     
                    for (i=1;i<=N;i++)
                    {
                        printf ("\nEntrez vos notes : ");
                    scanf ("%f", &Ai);
     
                    S1 = S1+Ai;
                    S2 = S2+Ai*Ai;
                    N=n-2;
     
                    }
                    M = S1/(n+3);
     
                }
                    M = S1/(2+3);
     
     
     
           }
            else
           {
     
             printf("avez vous eu des CC? O/N\n");
     
                rep=getch();
     
                if(rep=='O')
                {
     
                    for (i=1;i<=N;i++)
                    {
                        printf ("\nEntrez vos notes : ");
                    scanf ("%f", &Ai);
     
                    S1 = S1+Ai;
                    S2 = S2+Ai*Ai;
                    N=n-1;
     
     
                    }
                    M = S1/(n+2);
     
     
                }
                    M = S1/3;
     
           }
         }
        else
        {
             printf("avez vous eu des medians? O/N\n");
            rep=getch();
     
            if(rep=='O')
            {
     
     
                printf ("\nEntrez votre note : ");
                scanf ("%f", &Ai);
                S1 = S1+Ai+Ai;
                S2 = S2+(Ai+Ai)*(Ai+Ai);
                N=1;
     
     
     
     
        printf("avez vous eu des CC? O/N\n");
     
                rep=getch();
     
                if(rep=='O')
                {
     
                    for (i=1;i<=N;i++)
                    {
                        printf ("\nEntrez vos notes : ");
                    scanf ("%f", &Ai);
     
                    S1 = S1+Ai;
                    S2 = S2+Ai*Ai;
                    N=n-1;
                    }
                    M = S1/(n+1);
     
                }
                    M = S1/2;
     
            }
            else
            {
                 printf("avez vous eu des CC? O/N\n");
     
                rep=getch();
     
                if(rep=='O')
                {
     
                    for (i=1;i<=N;i++)
                    {
                        printf ("\nEntrez vos notes : ");
                    scanf ("%f", &Ai);
     
                    S1 = S1+Ai;
                    S2 = S2+Ai*Ai;
                    N=n;
                    }
                    M = S1/n;
     
     
                }
     
            }
     
        }
     
     
         printf ("\nLa moyenne de la serie vaut : %f\n", M);
     
            }
    return 0;
      }





    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
    #include "Acquisition2.h"
     
     
     int Acquisition2()
     
     {
     int x2,k;
     
     do
            {
                for(k=1; k<8; k++)
                {
                    printf("\n Tapez %d pour entrer les notes de l'UV %d\n",k,k);
                    scanf("%d",&x2);
                    switch(x2)
                    {
                    case 1 :
     
     
                        printf("Voici les moyennes de PSB\n\n");
                        ClassementNotes(x2);
     
     
                        break;
                    case 2 :
     
                        printf("Voici les moyennes de MTB\n\n");
                     ClassementNotes(x2);
                        break;
                    case 3:
     
                        printf("Voici les moyennes de TNA\n\n");
    ClassementNotes(x2);
                        break;
                    case 4:
     
                        printf("Voici les moyennes de LANGUE \n\n");
    ClassementNotes(x2);
     
                        break;
                    case 5:
     
                        printf("Voici les moyennes de MDB\n\n");
    ClassementNotes(x2);
     
                        break;
                    case 6:
     
                        printf("Voici les moyennes d'IFB\n\n");
    ClassementNotes(x2);
                        break;
                    case 7:
     
                        printf("Voici les moyennes de MG11\n\n");
    ClassementNotes(x2);
                        break;
                    case 8:
     
                        printf("Voici les moyennes de ST10\n\n");
    ClassementNotes(x2);
                        break;
                    }
                }
            }
             while(x2<1 || x2>8);
     
             return(x2);
     }



    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
    #include <stdio.h>
    #include <stdlib.h>
    #include "Affichage.h"
     
    void Affichage(int VAL,char prenom[30],float Moyenne[30][8],int x2)
    {
     
    int i,j;
     
     
     
    for(i=0;i<30;i++)
     
            printf("%d : ",prenom[VAL]);
     
            for(j=0;j<6;j++)
            {
                printf("%.2f ; ",Moyenne[i][j]);
            }
            printf("\n");
    }


    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
     
    #include "AttributionLettre.h"
    #include <stdio.h>
    #include "Affichage.h"
    void AttributionLettre(int x2, char prenom[30],float Moyenne[30][8])
    {
     int VAL;
     int i;
     
    for(i=0;i<=2;i++)
    {
     
     VAL=Moyenne[i][0];
     
    Affichage(x2,prenom[30],Moyenne[30][8],VAL);
              printf("\t A \t excellent \n");
    }
    for(i=3;i<=9;i++)
    {
     
     VAL=Moyenne[i][0];
     
    Affichage(x2,prenom[30],Moyenne[30][8],VAL);
     
              printf("\t B \t Tres bien \n");
    }
    for(i=10;i<=15;i++)
    {
     
     VAL=Moyenne[i][0];
     
    /*Affichage(x2,prenom[30],Moyenne[30][8],VAL,i);*/
     
              printf("\t C \t Bien\n");
    }
    for(i=16;i<=19;i++)
    {
     
     VAL=Moyenne[i][0];
     
     
     
            /*Affichage(x2,prenom[30],Moyenne[30][8],VAL,i);*/
              printf("\t D \t Satisfaisant \n");
    }
    for(i=20;i<=23;i++)
    {
     
     VAL=Moyenne[i][0];
     
     
     
           /*Affichage(x2,prenom[30],Moyenne[30][8],VAL,i);*/
              printf("\t E \t Passable \n ");}
     
    for(i=24 ;i<=28;i++)
    {
     
     VAL=Moyenne[i][0];
     
     
     
             /*Affichage(x2,prenom[30],Moyenne[30][8],VAL,i);*/
             printf("\t F \t insuffisant \n");
             }
     
    }



    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
    #include <stdlib.h>
    #include "ClassementNotes.h"
     
     
     void ClassementNotes(int x2,float Moyenne[30][8])
     
    {
     
      int LIMITE,MAX=30,PERMUTATION,i,x,K;
     
     
        for (i=0; i<30; i++)
        {
     
                printf("%f \n",Moyenne[i][x2]);
        }
     
      LIMITE=MAX-1;
            do
            {
                PERMUTATION=0;
                for(K=0; K<LIMITE; K++)
                {
     
                    if(Moyenne[K][x2]<Moyenne[K+1][x2])
                    {
                        x=Moyenne[K][x2];
                        Moyenne[K][x2]=Moyenne[K+1][x2];
                        Moyenne[K+1][x2]=x;
                        PERMUTATION=1;
                    }
     
                }
                LIMITE=LIMITE-1;
     
            }
            while(PERMUTATION==1);
     
     
     
     
        printf("Tableau trie");
        for (i=0; i<=30; i++)
        {
     
                printf("%f \n",Moyenne[i][x2]);
     
        }
    }


    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int Statistique(float Moyenne[30][8],int x2)
     
    {
        int k,somme,moy;
        char res;
         int max,n=0;
        char reponse[4];
        srand(time(0));
     
     
        max=Moyenne[0][x2];
        for (k=0;k<30;k++)
        {
            if(Moyenne[k][x2]>=max)
            {
                max=Moyenne[k][x2];
     
            }
        }
        for (k=0;k<30;k++)
        {
            if(Moyenne[k][x2]==max)
            {
                n=n+1;
     
            }
        }
     
        printf("La valeur maximale de la fonction est %d et elle apparait %d fois\n",max,n);
     
     
        max=Moyenne[0][x2];
        for (k=0;k<30;k++)
        {
            if(Moyenne[k][x2]<=max)
            {
                max=Moyenne[k][x2];
     
            }
        }
        for (k=0;k<30;k++)
        {
            if(Moyenne[k][x2]==max)
            {
                n=n+1;
     
            }
        }
     
        printf("La valeur minimale de la fonction est %d et elle apparait %d fois\n",max,n);
     
     
     
        for (k=0;k<30;k++)
        {
            somme=somme+Moyenne[k][x2];
        }
        moy=somme*1.0/30;
    }

    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
    #include "TableauMoyennes.h"
    #include <stdio.h>
    #include <stdlib.h>
     float TableauMoyennes()
     {
    int i,j;
    float Moyenne[30][8];
     
     
     for(i=1; i<30; i++)
                        {
                            for(j=1; j<8; j++)
                            {
                                Moyenne[i][j]=rand()%16+5;
                            }
                        }
     
                        for(i=0; i<30; i++)
                        {
                            Moyenne[i][0]=i+1;
                        }
     }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include "TableauPrenom.h"
    #include <stdio.h>
    #include <stdlib.h>
    char TableauPrenom(void)
    {
      int k;
      char prenom[30][20]={"SARA","OLIVER","CEDRIC","VICTOR","JOSEPH-MARIE","ALEXIS","JEAN-SAMUEL","CYRIL","PERRINE","JEAN-BAPTISTE","THIBAUT","FLORIAN","PAUL","LOUIS","MARIE","ANTOINE","EMILIEN","SIMON","NOEMIE","ENZO","DORIAN","MARC","THEODORE","LEA","LOUISE","LUC","EWEN","NICOLAS","AURORE","NESTINE"};
      for(k=0;k<30;k++)
      {
          printf("%s \n",prenom[k]);
      }
      return(prenom[30]).
    }

    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 "TableauUV.h"
    #include <stdio.h>
    #include <stdlib.h>
    char TableauUV()
     
    {
      int k;
      char UV[9][9]={"1-PSB","2-MTB","3-TNA","4-LANGUE","5-MDB","6-IFB","7-MG11","8-ST10"};
      for(k=0;k<8;k++)
      {
          printf("%s \n",UV[k]);
      }
     
     
    }

    error: conflicting types for 'Acquisition'|
    error: conflicting types for 'Affichage'|
    error: conflicting types for 'ClassementNotes'|
    dans l'Acquisition()
    |17|warning: implicit declaration of function 'TableauUV' [-Wimplicit-function-declaration]|

    dans le main()
    |30|warning: passing argument 2 of 'Acquisition' makes integer from pointer without a cast [-Wint-conversion]|

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Quelques remarques en vrac :
    • dans la fonction main(); si j’entre le chiffre 3 comme choix du menu que se passe-t-il ?
    • Pour transmettre un tableau on spécifie simplement son nom sans les crochets (ce qui revient à transmettre le pointeur de l’adresse du premier élément de celui-ci)
    • la fonction CalculMoyenne(); renvoie 0 (return 0)
    • ...

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Je vois ton code et je me dis que c'est une catastrophe. Indentation pourrie, passage de tableaux aux fonctions absolument non maitrisé. Tu dois le rendre demain mais tu l'as depuis combien de temps ? Et qu'as -tu appris durant ton année de C ???

    Citation Envoyé par SaraIFB Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char TabUV[8][8];
    float Moyenne[30][8];
    Donc là tu ne t'es pas dit qu'une structure qui regrouperait l'UV et sa moyenne serait plus adéquate ?

    Citation Envoyé par SaraIFB Voir le message
    Code c : 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
    case 1 :
     
                        M=CalculMoyenne();
                        printf("Voici les moyennes de PSB\n\n");
     
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                                printf("%f  ",Moyenne[i][x2]);
                            printf("\n");
                        }
                        break;
                    case 2 :
                        M=CalculMoyenne();
                        printf("Voici les moyennes de PSB\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                            for(j=0; j<3; j++)
                            {
                                printf("%f  ",Moyenne[i][x2]);
                            }
                            printf("\n");
                        }
                        break;
                    case 3:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de TNA\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                            for(j=0; j<4; j++)
                            {
                                printf("%f  ",Moyenne[i][x2]);
                            }
                            printf("\n");
                        }
                        break;
                    case 4:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de LANGUE \n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
                            for(j=0; j<5; j++)
                            {
                                printf("%f  ",Moyenne[i][x2]);
                            }
                            printf("\n");
                        }
                        break;
                    case 5:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de MDB\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
     
                                printf("%f  ",Moyenne[i][x2]);
                            printf("\n");
                        }
                        break;
                    case 6:
                        M=CalculMoyenne();
                        printf("Voici les moyennes d'IFB\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
     
     
                                printf("%f  ",Moyenne[i][x2]);
     
                            printf("\n");
                        }
                        break;
                    case 7:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de MG11\n\n");
                        Moyenne[0][x2]=M;
     
                        for(i=0; i<30; i++)
                        {
     
     
                                printf("%f  ",Moyenne[i][x2]);
     
                            printf("\n");
                        }
                        break;
                    case 8:
                        M=CalculMoyenne();
                        printf("Voici les moyennes de ST10\n\n");
                        Moyenne[0][x2]=M;
     
     
                        for(i=0; i<30; i++)
                        {
     
     
                                printf("%f  ",Moyenne[i][x2]);
     
                            printf("\n");
                        }
                        break;
                    }
                }
            }
    8 fois le même code totalement identique (seul le libellé change). Tu aimes taper des lignes toi !!!


    Citation Envoyé par SaraIFB Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
             S1 = S1+Ai+Ai+Ai;
             S2 = S2+(Ai+Ai+Ai)*(Ai+Ai+Ai);
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x=Ai*3
    S1=S1+x
    S2=S2+x*x
    Ou mieux (vu que ce genre de formule arrive assez souvent mais parfois c'est "Ai * 2", parfois c'est "Ai * 1"...)
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void calcul_interne(float *x, float *y, float Ai, unsigned short n) {
        float tmp=Ai * n;
        (*x)+=tmp;
        (*y)+=tmp*tmp;
    }

    Et tu l'appelles calcul_interne(&S1, &S2, Ai, 3) ou toute autre valeur selon le besoin.

    Citation Envoyé par SaraIFB Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    char TableauPrenom(void)
    {
      int k;
      char prenom[30][20]={"SARA","OLIVER","CEDRIC","VICTOR","JOSEPH-MARIE","ALEXIS","JEAN-SAMUEL","CYRIL","PERRINE","JEAN-BAPTISTE","THIBAUT","FLORIAN","PAUL","LOUIS","MARIE","ANTOINE","EMILIEN","SIMON","NOEMIE","ENZO","DORIAN","MARC","THEODORE","LEA","LOUISE","LUC","EWEN","NICOLAS","AURORE","NESTINE"};
      for(k=0;k<30;k++)
      {
          printf("%s \n",prenom[k]);
      }
      return(prenom[30]).
    }
    Une fonction définie comme "char" (donc qui doit renvoyer un caractère) mais qui renvoie une chaine... et en plus une chaine en dehors des limites du tableau (un tableau[30] est indicé de 0 à 29 !!!). Et pourquoi renvoie-t-elle une chaine ça...
    Pour le reste j'arrête de lire ce pâté. Là encore tu écris et réécris les mêmes instructions à l'infini sans penser à les factoriser dans des fonctions internes. Si tu as d'autres matières pour rattrapper, n'hésite pas à t'investir dessus parce que pour le C...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    Alors tout d'abord c'est un projet que nous avons effectué à 3 donc beaucoup de ces fonctions ne sont pas faites par moi. Cela fait 1 mois que nous avons commencé pour le C ce qui explique surement le manque d'optimisation tout conseil étant la bienvenue par ailleur. Pour le manque de tact on repassera. Et oui mon problème était bien que je ne savais pas comment mettre mes tableaux en argument dans les différentes fonctions. Maintenant mon programme marche parfaitement, il n'est surement pas parfait mais c'est un bon début. Je remercie ceux qui ont bien voulu m'aider

  7. #7
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 434
    Points : 43 068
    Points
    43 068
    Par défaut
    Pour le manque de tact on repassera.
    Poster une demande pour le lendemain, sans mettre de code, sans bien décrire le problème....

    Tu as peut-être beaucoup travaillé sans t'en sortir et mis la demande en dernier recours, mais c'est pas l'impression que tu as donné.

    Maintenant mon programme marche parfaitement
    Ton programme marche, et c'est bien. Mais il ne marche pas parfaitement.

    Et un truc comme ça :
    et en plus une chaine en dehors des limites du tableau (un tableau[30] est indicé de 0 à 29 !!!
    Ca peut ne pas empêcher ton programme de fonctionner en apparence, mais c'est grave, car en gros tu dépasse la mémoire réservée pour le tableau de caractères (en C une chaine est un tableau de char) et écrit donc dans des cases mémoires pouvant être réservées à autre chose, donc tu les écrase.

    Mais ne t'inquiètes pas, c'est normal quand on débute.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Je repasse suite à la demande du PO faisant référence au manque de tact
    Citation Envoyé par chrtophe Voir le message
    Et un truc comme ça :
    et en plus une chaine en dehors des limites du tableau (un tableau[30] est indicé de 0 à 29 !!!
    Ca peut ne pas empêcher ton programme de fonctionner en apparence, mais c'est grave, car en gros tu dépasse la mémoire réservée pour le tableau de caractères (en C une chaine est un tableau de char) et écrit donc dans des cases mémoires pouvant être réservées à autre chose, donc tu les écrase.
    D'autant plus que je n'ai pas eu la réponse à mon interrogation qui était (pour rappel) pourquoi cette fonction (destinée manifestement à afficher une liste de prénoms) renvoie l'un d'eux en particulier (toujours le dernier si, tel Montesquieu, on s'attache plus à l'esprit du code qu'au code lui-même)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    J'ai expliqué c'est un travail en groupe je devais m'occuper du main sauf que je n'arrivais pas à cause des erreurs j'ai donc posté le message ici. Donc dimanche comme vous m'avez expliqué en outre tout ce qui n'allait pas ce qui faisait beaucoup j'en ai conclus que le meilleur était de tout recommencer. J'ai donc refais toute les fonctions moi-même et les codes précédent de sont pas de moi

Discussions similaires

  1. Calcul moyenne avec coefficient
    Par dharth dans le forum Débuter
    Réponses: 14
    Dernier message: 17/07/2009, 19h10
  2. Réponses: 14
    Dernier message: 06/05/2008, 15h16
  3. Calculer une moyenne avec des jours absents
    Par guidav dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/01/2008, 09h35
  4. Calculer une moyenne avec une matrice
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 05/06/2006, 16h47
  5. calculer une moyenne avec une requete externe
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 16h02

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