Sos ..programme c...

titeuf -  
 Spleen -
Bonjour,

ce que je dois faire c'est:
1. ecrire le nom et la note de 20 etudiants pour une matiere.
2. afficher le nom et note de l'etudiant dans l'ordre dans laquelle on les a entrer.
3.rentrer les notes dans l'ordres (de la note maximum a la note minimum)
4. calculer et afficher le nombres d'etudiants,calculer la moyenne,et afficher le nom suivi de la note de l'etudiant ayant la note maximal.
5.Afficher le nom,la note des etudiants dans l'ordre(c'est a dire de celui qui a la plus haute note a l'etudiant qui a la moins bonne).
voila ... on a pas encore cmmencer les pointeurs ,la prof a dit de tout faire avec les tableaux...
jsui perdu ...
A voir également:

4 réponses

Spleen
 
Salut, j'ai fait ceci si tu veux :
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int note[20]; // Notre tableau qui va stocker 20 notes
    char eleve[20][100]; // Notre tableau qui va stocker le nom (maximum 100 caractère) de 20 éleves
    int i; // Un compteur

    for (i=0; i<20; i++){ // On fait varier i de 0 à 20
        system("cls"); // On efface la console
        printf("Etudiant n%d\n-------\n",i+1); // On affiche la valeur de i+1
        printf("Entrez le nom de l'eleve : ");
        scanf("%s",eleve[i]); // On stocke le nom de leleve à la position i dans le tableau eleves
        fflush(stdin); // On efface le buffer clavier (sinon problème)
        printf("Entrez la note de l'eleve : ");
        scanf("%d",&note[i]);
    }

    for (i=0 ; i<20 ; i++){ // i de 0 à 20
        printf("Etudiant n%d\n-------\n",i+1); // On affiche la valeur de i+1
        printf("Eleve : %s\n",eleve[i]); // On affiche le nom de l'eleve
        printf("Note : %d\n\n\n",note[i]);// et on affiche sa note
    }
    system("pause"); // On met en pause



    int check = 0;
    int tmp = 0;
    int cpt = 0;

    printf(" Classement des notes : ");

    while (check != 1){
        cpt = 0;
        for (i=0; i<19; i++){
            if (note[i] < note[i+1]){ // Si la note rencontree est plus petite que celle de droite, on linverse
                tmp = note[i];
                note[i] = note[i+1];
                note[i+1] = tmp; // On inverse les valeurs des notes
                cpt ++;
            }
        }
        if (cpt == 0) check = 1; // Si tous les nombres sont bien rangés, on arrete la boucle
    }

    for (i=0; i<20; i++){
        printf("%d / ",note[i]); // On affiche nos notes
    }

    printf("\n\n");
    system("pause"); // On met en pause

    printf("Calcul de la moyenne et la meilleure note :");

    int total = 0;
    float moyenne = 0.0;

    for (i=0 ; i<20; i++){
        total = (float)note[i] + total;
    }

    moyenne = total / 20;

    printf("\n\nMoyenne : %f",moyenne);
    printf("\nMeilleure note: %d\n",note[0]);




    return 0;
}


Je me suis arrêté à ce stade là, car sans notion de pointeur ni de structure, ça devient vite très pénible ...!
Voila, bon courage!
0
titeuf
 
merci !!
j'essaye de le compiler mais ca me met qu'il y a plusieurs erreurs...
0
Spleen
 
Vraiment ?
C'est vraiment très étrange, je viens à l'instant de faire un copier/coller dans un nouveau projet, je n'ai aucune erreur de compilation.
Je suppose donc que l'erreur vient de ton côté
0
Spleen
 
Pourrais tu détailler un peu plus ces erreurs ?
0