#include <stdio.h>
#include <ctype.h>
void main()
{
char sexe[10], reponse /*= 'T'*/, reponseC;
float poids[10], recordFem = 0.0, recordHom = 0.0, temp1;
int i = 0, j, /*k, l, */
indMin, //"Indice de la case contenant le plus petit nombre"
temp, //2 variables temporaires pour les 2 permutations à faire (poids sexe)
nbPers = 0;
do{ //Permet la réexécution du programme complet
while(i <= 9 && reponse != 'T'){//Début de la création de la liste de données
printf("Entrez le sexe de la personne %d (M/F) et son poids:\n", i+1);//i+1 représente le nombre de la personne
fflush(stdin);
scanf("%c%f", &sexe[i], &poids[i]);//Scan séquentiellement sexe + poids; une ligne à la fois
//scanf("%c", &sexe[i]);/*Ça passe pas avec les 2 prompts: pour les lire ensemble, il faut les demander ensemble*/
sexe[i] = toupper(sexe[i]); //Au cas où ça serait pas en majuscules
//scanf("%f", &poids[i]);
printf("sx: %c\n", sexe[i]); //Debug
printf("pds: %6.2f\n", poids[i]);//Debug
i++;//Indice du tableau correspondant
nbPers ++;//Compteur de personnes
if(sexe[i] == 'F' && recordFem < poids[i]){ // If qui détermine si c'est une fille ET si le poids lu dépasse le record
recordFem = poids[i];
}else if(sexe[i] == 'M' && recordHom < poids[i]){// If qui détermine si c'est un gars ET si le poids lu dépasse le record
recordHom = poids[i];
}
//Fin du parcours tableau qd on arrive au bout
printf("Entrez T pour terminer ou n'importe quelle lettre pour continuer\n");
fflush(stdin);//Plus commode question ergonomie
scanf("%c", &reponse);
reponse = toupper(reponse);
}//Fin liste données
printf("Le poids le plus lourd parmi les femmes est: ");
printf("%.2f\n", recordFem);
printf("Le poids le plus lourd parmi les hommes est: ");
printf("%.2f\n", recordHom);
printf("Vous avez entre les sexes et poids suivants:\n");//Affichage avant tri
printf("Personnes:\n");
for(j = 0; j < i; j++){
printf("%d- %c %.2f\n\n", j+1, sexe[j], poids[j]);
}//Fin du For d'affichage des entrées
/* Début de la boucle de tri selon les POIDS */
for(i=0 ; i <= nbPers -1 ; i++){
indMin = i;
for(j = i + 1 ; j < nbPers ; j++){
if(poids[j] < poids[indMin])
indMin = j;
}
if(indMin != i){
temp = sexe[i];
sexe[i] = sexe[indMin];
sexe[indMin] = temp;
temp1 = poids[i];
poids[i] = poids[indMin];
poids[indMin] = temp1;
}
}
/* Fin tri selon poids */
/*Affichage du tableau trié*/
printf("Le tableau dans l'ordre des poids:\n");//Affichage après tri
for(j = 0; j < i; j++){
printf("%d- %c %.2f\n", j+1, sexe[j], poids[j]);
}//Fin du For d'affichage des entrées
printf("\n");
/*fin affichage tableau trié*/
/*Partie qui détermine les records de poids */
//for(k = 0; k < i; k++){ //Parcours du tableau
// if(sexe[k] == 'F' && recordFem < poids[k]){ // If qui détermine si c'est une fille ET si le poids lu dépasse le record
// record1 = poids[k];
// }else if(sexe[k] == 'M' && recordHom < poids[k]){// If qui détermine si c'est un gars ET si le poids lu dépasse le record
// record2 = poids[k];
// }
// Fin du parcours tableau qd on arrive au bout
// printf("Le poids le plus lourd parmi les femmes est: ");
// printf("%.2f\n", poids[k]);
// printf("Le poids le plus lourd parmi les hommes est: ");
// printf("%.2f\n", poids[k]);
//}//Fin du parcours tableau qd on arrive au bout
printf("\nVoulez-vous reexecuter le programme depuis le debut ? (O/N)");//Fin de la boucle pour réexécuter le programme complet
getchar();
scanf("%c", &reponseC);
reponseC = toupper(reponseC);
}while(reponseC == 'O');//Pour réexécution complète
}
Il veut pas se réexécuter à la fin ni déterminer les records de poids...
Bon OK chui débutant, donc là je sèche...si qqn peut me guider...
Vala une capture de texte de ce que ca me donne...
Le poids le plus lourd parmi les femmes est: 0.00 Le poids le plus lourd parmi les hommes est: 0.00 Vous avez entre les sexes et poids suivants: Personnes: 1- M 125.00 2- F 56.00 3- M 90.00 4- F 70.00 Le tableau dans l'ordre des poids: 1- F 56.00 2- F 70.00 3- M 90.00 4- M 125.00 Voulez-vous reexecuter le programme depuis le debut ? (O/N)O Le poids le plus lourd parmi les femmes est: 0.00 Le poids le plus lourd parmi les hommes est: 0.00 Vous avez entre les sexes et poids suivants: Personnes: 1- F 56.00 2- F 70.00 3- M 90.00 4- M 125.00 Le tableau dans l'ordre des poids: 1- F 56.00 2- F 70.00 3- M 90.00 4- M 125.00 Voulez-vous reexecuter le programme depuis le debut ? (O/N)