sikove
Messages postés90Date d'inscriptionlundi 17 mars 2008StatutMembreDernière intervention31 mars 2010
-
3 juin 2008 à 17:38
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 2016
-
4 juin 2008 à 10:19
salut,
je suis tombé sur un probleme, et c'est le plus difficle que je croise jusqu'a maintenant :
Programmation structurée :
Ecrivez un programme permettant, à l'utilisateur de saisir les notes d'une classe. Le programme , une fois la saisie terminée, affiche la liste des étudiants ayant une note supérieur à 10. La liste des étudiants doit etre trié par ordre alphabétique
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 3 juin 2008 à 18:48
Slt.
Tu peux peut-être créer un Vector pour chaque étudiants. Comme ca, tu mets toutes les note d'un même étudiant dans son Vector et lorsque tu trira les étudiants par ordre alphabétique, tu ne fera que trier tes vector (donc étudiant + notes).
Exemple d'une organisation possible pour les vecteurs étudiant :
- Id de l'étudiant.
- Notes
Chaque vector étudiant est stocké dans un vector général (par exemple : "Students").
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 4 juin 2008 à 00:55
Slt,
et pourquoi ne créé tu pas une class Etudiant (nom , prenom , note )
tu mets tes étudiants dans 1 vecteur Vector<Etudiant>
tu tries ton vecteur par nom ( tu mets dans Etudiant 1 fonction publique getNom(); )
et puis il te suffit de parcourir ton vecteur d'etudiants et de faire 1 test genre :
for(int i=0 ; i<vectEtudiant.size();i++)
{
if(vectEtudiant.get(i).getNote() >10 ) -->(idem fonction publique getNote() )
// tu mets ici ta procedure pour ajouter cet etudiant a la liste a afficher ...
}
dvoraky
Messages postés744Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 9 mai 20108 4 juin 2008 à 09:10
+1 pour Nicolas___
de plus, on va préférer utiliser une List plutôt qu'un Vector. Le Vector fait appel à une synchronisation il va être beaucoup plus lent. Vector est même deprecated.
Mais, avec Java, penses objet et Nicolas___ t'as donné une bonne solution
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 201625 4 juin 2008 à 10:19
Je rajouterais que ce serait très pratique si ta classe Etudiant implémentait l'interface Comparable<Etudiant>, ainsi, dans ta méthode compareTo, tu renvoies this.getNom().compareTo(deuxiemeEtudiant.getNom()).
De cette manière, quand tu auras ta liste d'étudiants, ( List<Etudiant> ), tu n'auras plus qu'à appeler la méthode Collections.sort(listeDEtudiants).
Ensuite pour ce qui est du filtre, vois les choses en grand : Crée une interface FiltreEtudiants qui prend en paramètre du constructeur une liste d'etudiants et qui sort à la demande une sous liste de cette liste.
Tu fais éventuellement une classe abstraite intermédiaire étant donné que les filtres auront beaucoup de points communs et enfin une classe FiltreAdmis qui implémente la méthode getListeFiltree de l'interface Filtre en renvoyant la sous-liste contenant seulement les étudiants ayant la moyenne.