2 programmes-2 versions
Moustiquet
Messages postés
254
Statut
Membre
-
Moustiquet Messages postés 254 Statut Membre -
Moustiquet Messages postés 254 Statut Membre -
Le premier ne fonctionne pas fonctionneProgramme dans lequelle, il faut demnander a l'utilisateur d'entrer 8 notes*/
/*de 8 juges. Ces notes sont donneées a un patineur. Il faudra donner la moyenne du patineur*/
/*Avant de donner la moyenne du patineur, il faut retirer la plus haute note et la plus faible (une seule fois)*/
/*Après, il faut pouvoir refaire l'opération pour autant de patineur qu'on le désir.*/
/*De ces patineurs, il faut calculer la moyenne des patineur et de determiner le meilleur et le /*
/*Plus mauvais.
/*
#include <stdio.h>
#define NB_NOTES 8 /* Nombre de notes à traiter. */
#define NOTE_MIN 0 /* Note minimale. */
#define NOTE_MAX 10 /* Note maximale. */
#define NB_MOY 100
#define VALEUR_DEPART 0
int main()
/*Declaration des variable*/
{ float tab_Moyenne[NB_MOY];/*Tableau des moyennes des patineurs*/
float tab_notes [NB_NOTES]; /*Tableau des notes des juges*/
float NotePlusBasse=10;
float NotePlusHaute=0;
float notes;
int k;/*Pour compteur dans la boucle des moyenne*/
char reponse;/*Pour la boucle de chaque patineur*/
int nbPat,i;/* nombre de patineur traité(s).*/
float somme;/*somme des notes des juges pour un patineur.*/
float Moyenne,SomMoyenne,MoyPlus,MoyFaible;
nbPat=0; /*initialisation du compteur des patineurs*/
int non_valide; /* Utilisee comme un booleen. */
/* Initialisation du tableau. */
do{ printf( "Lecture de %d du juge\n\n\n", NB_NOTES );
for ( i = 0; i < NB_NOTES; i++ ) {
/*Boucle do while pour calculer et mettre les valeurs dans un tableau des juges*/
do{ printf( "Entrez la note du juge #%d : ", i + 1 );
fflush( stdin );
scanf( "%f", &tab_notes[ i ] );
non_valide = tab_notes[ i ] < NOTE_MIN || tab_notes[ i ] > NOTE_MAX;
if ( non_valide )
printf( "Erreur, note invalide\n\n" );
} while ( non_valide );
} /* Fin de la boucle for*/
/*Calcul de la somme*/
somme=0;
for(i=0;i<NB_NOTES;i++)
{
somme+=tab_notes[i];
fflush(stdin);
if(tab_notes[i]>NotePlusHaute)
NotePlusHaute=tab_notes[i];
if (tab_notes[i]<NotePlusBasse)
NotePlusBasse= tab_notes[i];}
/*Determine les sommes les plus haute et plus faible pour calculer la moyenne*/
somme-=NotePlusHaute;
somme-=NotePlusBasse;
/*Comptage des patineurs*/
fflush(stdin);
nbPat++;
printf("Nous avons traite %d patineurs\n\n",nbPat);
//Affichage des résultats
printf(" La note moyenne du patineur : %6.2f \n", somme/6.0 );
printf("\n\n");
printf("\nVoulez-vous continuer ? (o/n) ");
fflush(stdin);
reponse = toupper ( getchar() );
} while(reponse== 'O'||reponse=='o');
/* printf("Merci!, Appuyer sur une touche pour continuer");*/
/* Ininialisation du tableau des moyennes*/
SomMoyenne= 0;
do { if ( tab_Moyenne[k]=SomMoyenne/nbPat);
for(i=0;k<NB_MOY;k++){
SomMoyenne+=tab_Moyenne[k] ;
if (tab_Moyenne[k]<MoyFaible)
MoyFaible=tab_Moyenne[k];
if (tab_Moyenne[k]>MoyPlus)
MoyPlus=tab_Moyenne[k];}
while (tolower(reponse) == 'n');
printf("La note moyenne des patineurs est:%6.2f\n",SomMoyenne/nbPat);
printf("Le meilleur patineur a la note: %6.2f\n",MoyPlus);
printf("Le plus mauvais patineur a la note:%6.2d\n",MoyFaible);
getch();
}
return 0;
}
Le 2 ieme fonctionne
ce programme permet de saisir les 8 notes d'un patineur
avec une boucle appropriée, de calculer et afficher sa note finale.
méthode de calcul utilisée: 8 juges accordent une note réelle entre 0 et 6.
la note la plus élevée et la note la plus basse sont éliminées
et la moyenne des 6 notes conservées est alors affichée
le programme peut faire le calcul ci-dessus pour plusieurs patineurs,
compter le nombre de patineurs traités et afficher la note moyenne
de tous les patineurs ainsi que la meilleure moyenne et la moyenne la plus
faible.
*/
#include <stdio.h>
#define NB_PATINEURS_MAX 100
#define NOTE_MIN 0.0
#define NOTE_MAX 6.0
#define NB_NOTES 8
/* demanderNote permet de saisir et de valider la note d'un patineur
(entre NOTE_MIN et NOTE_MAX)
en entrée: aucun parametre
en sortie: retourne la note (de type float)
*/
float demanderNote()
{
float note;
do
{
printf("Veuillez entrer la note: ");
scanf("%f", ¬e);
if (note < NOTE_MIN || note > NOTE_MAX)
printf("Note invalide. Veuillez entrer la note: ");
} while (note < NOTE_MIN || note > NOTE_MAX);
return note;
}
int main()
{
float sommeNoteGlobal = 0;
float noteMinGlobal = NOTE_MAX + 1;
float noteMaxGlobal = NOTE_MIN - 1;
int nbPatineurs = 0;
float note;
char reponse;
int i;
do
{
printf("Patineur %d\n", nbPatineurs + 1);
float sommeNotesPatineur = 0;
float noteMin = NOTE_MAX + 1;
float noteMax = NOTE_MIN - 1;
for (i = 0; i < NB_NOTES; i++)
{
note = demanderNote();
sommeNotesPatineur += note;
if (note < noteMin)
noteMin = note;
if (note > noteMax)
noteMax = note;
}
note = (sommeNotesPatineur - noteMin - noteMax) / 6.0;
sommeNoteGlobal += note;
if (note < noteMinGlobal)
noteMinGlobal = note;
if (note > noteMaxGlobal)
noteMaxGlobal = note;
nbPatineurs++;
printf("Note: %.1f\n", note);
printf( "\nDesirez-vous entrer un autre patineur (o/n)? " );
scanf( " %c", &reponse );
}
while (tolower(reponse) == 'o');
printf("\n** RESUME **\n");
printf("Nombre de patineurs: %d\n", nbPatineurs);
printf("Moyenne : %.1f\n", sommeNoteGlobal / nbPatineurs);
printf("Note la plus faible : %.1f\n", noteMinGlobal);
printf("Meilleure note : %.1f\n", noteMaxGlobal);
getch();
}
Mais j'ignore pourquoi le premier ne fonctionne pas
Si quelqu'un veux s'aventurer a me repondre se serait apprécié
Le probleme est dans la partie souligné
A voir également:
- 2 programmes-2 versions
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Gta 6 trailer 2 - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp 2 - Guide
3 réponses
S.V.P J'ai été absent pendant un bon bout de temps, mais je pense avoir fait du progrès, mais pas parfait