Résolu Besoin d'aide pour optimisation d'un code

L'hirondelle

Membre
Inscription
24 Mars 2013
Messages
623
Réactions
93
Points
11 323
RGCoins
25
Bonjour.
J'ai codé un petit truc qui permet de savoir notre moyenne en fonction de x matière (4 à 6).

Et j'aimerai l'optimiser, mais je ne sais pas coment.
Pouvez vous juste me donner les idées please :p

Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{

    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    int e = 0;
    int f = 0;
    int matiere = 0;
    int moyenne = 0;


    printf("Combien de matieres avez vous ?");
    scanf("%d", &matiere);

switch (matiere)
{
    case 4:
        printf("Entrez votre 1ere moyenne :");
        scanf("%d", &a);
        printf("Entrez votre 2eme moyenne :");
        scanf("%d", &b);
        printf("Entrez votre 3eme moyenne :");
        scanf("%d", &c);
        printf("Entrez votre 4eme moyenne :");
        scanf("%d", &d);

        moyenne = a + b + c + d;
        moyenne = moyenne / 4;
        system("cls");
        printf("\n\n Votre moyenne est de %d \n\n ", moyenne);
    break;
    case 5:
        printf("Entrez votre 1ere moyenne :");
        scanf("%d", &a);
        printf("Entrez votre 2eme moyenne :");
        scanf("%d", &b);
        printf("Entrez votre 3eme moyenne :");
        scanf("%d", &c);
        printf("Entrez votre 4eme moyenne :");
        scanf("%d", &d);
        printf("Entrez votre 5eme moyenne :");
        scanf("%d", &e);

        moyenne = a + b + c + d + e;
        moyenne = moyenne / 5;

        system("cls");
        printf("\n\n Votre moyenne est de %d \n\n ", moyenne);

    break;
    case 6:
        printf("Entrez votre 1ere moyenne :");
        scanf("%d", &a);
        printf("Entrez votre 2eme moyenne :");
        scanf("%d", &b);
        printf("Entrez votre 3eme moyenne :");
        scanf("%d", &c);
        printf("Entrez votre 4eme moyenne :");
        scanf("%d", &d);
        printf("Entrez votre 5eme moyenne :");
        scanf("%d", &e);
        printf("Entrez votre 6eme moyenne :");
        scanf("%d", &f);

        moyenne = a + b + c + d + e + f;
        moyenne = moyenne / 6;

        system("cls");
        printf("\n\n Votre moyenne est de %d \n\n ", moyenne);
        break;
}



    return 0;
}
 
Dernière édition:
J'arrive un peu en retard pour lire ta demande mais a lire sa : :puke::puke::puke:

Déjà nul besoin de déclarer les variable NUL des le départ.
Vu que tu demande déjà la valeur de nombre de matière à l'utilisateur, nul besoin de passer par un SWITCH mais de le remplacer par une structure repetitive : Boucle "pour" soit en langage C : FOR
Déjà tu t'y prend mal pour répondre a ce genre d'exercice, ton algorithme est mal rédiger.

Voici selon moi la manière la plus correcte de calculer la moyenne de x matière :

Code:
main()
{
    int matiere,
        i,
        note,
        somme = 0;
   
    printf("Combien de matières avez vous ?");
    scanf("%d", &matiere);
   
    for (i = 1; i < matiere + 1; i++)
    {
        printf("Entrez la note de la matière %d :", i);
        scanf("%d", &note);
        somme = somme + note;
    }
   
    printf("La moyenne des matières est = %f", somme/matiere);
}
 
Retour
Haut