0% ont trouvé ce document utile (0 vote)
175 vues4 pages

Abdelghani-Code Source

code source d'un TP informatique (Algortihmique et structures de données) enregistrement d'élèves et calcul de la moyenne après la saise des notes, programme en langage C.

Transféré par

klarkson
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
175 vues4 pages

Abdelghani-Code Source

code source d'un TP informatique (Algortihmique et structures de données) enregistrement d'élèves et calcul de la moyenne après la saise des notes, programme en langage C.

Transféré par

klarkson
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <stdio.

h>
#include <string.h>

#define maxSize 400

typedef struct module {


char libelle[15];
int coeff;
int credit;
} module;

//////////////////////////////////////////////////////////////
typedef struct etudiant {
int num;
char nom[20];
char prenom[20];
int groupe;
float moyenne;
int credit;
} etudiant;

//////////////////////////////////////////////////////////////
void saisirLesModules(module tabMod[]) {
int i;
puts("===============================");
puts("Saisie des listes des modules:");
puts("===============================");
for(i=0; i<7; i++) {
printf("Saisir le module n�: %d \n",(i+1));
printf("nom du module: ");
scanf("%s", &tabMod[i].libelle);
printf("le coefficient: ");
scanf("%d", &tabMod[i].coeff);
printf("credit: ");
scanf("%d", &tabMod[i].credit);
puts("");
}
puts("===============================");
}

/////////////////////////////////////////////////////////////

void saisirLesEtudiants(etudiant promo[], int nb) {

int i;
puts("===============================");
puts("Saisie des listes des etudiants:");
puts("===============================");
for(i=0; i<nb; i++) {
promo[i].num = i+1;
printf("Saisir l\'etudiant n�: %d \n",(i+1));
printf("nom: ");
scanf("%s", &promo[i].nom);
printf("prenom: ");
scanf("%s", &promo[i].prenom);
printf("groupe: ");
scanf("%d", &promo[i].groupe);
promo[i].moyenne = 0.0;
promo[i].credit= 0;
}
puts("===============================\n");
}

////////////////////////////////////////////////////////////////////////

float calculerMoy(float notes[], module Mods[]) {

int i, sommeCoeff = 0;

float somme = 0.0;


for(i=0; i<7; i++){
sommeCoeff = sommeCoeff + Mods[i].coeff;
somme = somme + (notes[i] * Mods[i].coeff);
}

return somme / sommeCoeff;


}

//////////////////////////////////////////////////////////////////////

int calculerCredit(float notes[], module Mods[]){


int i,sommeCredit = 0;

for(i=0; i<7; i++)


{
if(notes[i]>=10.0)
sommeCredit = sommeCredit + Mods[i].credit;
}

return sommeCredit;
}

//////////////////////////////////////////////////////////////////////
void remplirMoys(etudiant promo[], int nbEtudiants, module Mods[]) {

int i,j;
float notesTmp[7];

for(i=0; i<nbEtudiants; i++) {


puts("=======================================");
printf("Siaisie des notes, etudiant n�: %d\n", i+1);
puts("=======================================");
for(j=0; j<7; j++) {
printf("Saisir la note de %s: ", Mods[j].libelle);
scanf("%f", &notesTmp[j]);
}

promo[i].moyenne = calculerMoy(notesTmp, Mods);


if(promo[i].moyenne < 10.0)
promo[i].credit = calculerCredit(notesTmp, Mods);
else
promo[i].credit = 30;
}
}
///////////////////////////////////////////////////////////////////////

void afficherPromo(etudiant promo[], int nb){


int i;
for(i=0; i<nb; i++){
puts("===============================");
printf("= L\'etudiant N�: %d\n", i+1);
puts("===============================");
printf("Le NumID : %d\n",promo[i].num);
printf("Le Nom : %s\n",promo[i].nom);
printf("Le Prenom : %s\n",promo[i].prenom);
printf("Le Groupe : %d\n",promo[i].groupe);
printf("La Moyenne: %.2f\n",promo[i].moyenne);
printf("Le Credit : %d\n\n",promo[i].credit);
}

}
/////////////////////////////////////////////////////////////////////

etudiant * trouverLeMajor(etudiant promo[], int nb){


int i, indiceMajor = 0;
float maxMoy = promo[0].moyenne;
etudiant * pMajor = &promo[0];

for(i=1; i<nb; i++)


if(maxMoy < promo[i].moyenne)
{
maxMoy = promo[i].moyenne;
pMajor = &promo[i];
indiceMajor = i;
}

puts("\n=================================");
printf(" Le Major de Promo est:\n ");
puts("==================================");
printf("N� : %d\n", pMajor->num);
printf("nom : %s\n", pMajor->nom);
printf("prenom : %s\n", pMajor->prenom);
printf("groupe : %d\n", pMajor->groupe);
printf("moyenne : %.2f\n", pMajor->moyenne);
printf("credit : %d\n\n", pMajor->credit);

return pMajor;
}

int main() {
module listeDesModules[7];

int nbEtudiants;

saisirLesModules(listeDesModules);

puts("Combien d\'etudiants existent dans la promotion?");

do {
scanf("%d", &nbEtudiants);
} while(nbEtudiants>maxSize);
etudiant promotion[nbEtudiants];

saisirLesEtudiants(promotion, nbEtudiants);

remplirMoys(promotion, nbEtudiants, listeDesModules);

afficherPromo(promotion, nbEtudiants);

printf("Le major se trouve dans l\'adresse: %x \n", trouverLeMajor(promotion,


nbEtudiants));

printf("=========== Fin ===========");

return 0;
}

Vous aimerez peut-être aussi