Programme rentrer des notes pour un cours

Fermé
elfierrudo Messages postés 6 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 24 mai 2009 - 15 déc. 2008 à 00:54
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 15 déc. 2008 à 01:31
Bonjour,

J'ai un programme en java que je suis en train de faire.. cette classe doit mémoriser le numero de l'étudiant ainsi que sa note finale dans un cours et obtenir différentes statistiques. Le problème d'après moi est dans la méthode getnoteparticuliere... et trouvernumetudiantpluspetitenote et trouvernumetudiantplusgrandenote puis afficherapport... dapres moi ce sont ces 4 la qui ne sont pas bons... alors si qq1 pourrait maider svp... ca serait gentil.. Merci a lavance


public class GroupeCours

{
//Ce sont les 5 variables d'instance
int NbEtudiant;
int NbMaxEtudiant;
String Titre;
int Note[];
int NumEtu[];

public GroupeCours() //Cette méthode est un constructeur par défaut sans paramètres
{
Titre = "Sans Titre";
NbMaxEtudiant = 25;
NbEtudiant = 0;
Note = new int[50];
NumEtu = new int[50];
}

public GroupeCours(int pNbMaxEtudiant) //Cette méthode est un constructeur avec un paramètre
{
Titre = "Sans Titre";
NbEtudiant = 0;
Note = new int[pNbMaxEtudiant];
NumEtu = new int[pNbMaxEtudiant];

if (NbMaxEtudiant >= 0 && NbMaxEtudiant <= 50)
{NbMaxEtudiant = pNbMaxEtudiant;}

else
{pNbMaxEtudiant = 25;}
}

public GroupeCours(String pTitre, int pNbMaxEtudiant) //Cette méthode est un constructeur avec deux paramètres
{
NbEtudiant = 0;
Note = new int[pNbMaxEtudiant];
NumEtu = new int[pNbMaxEtudiant];

if (NbMaxEtudiant >= 0 && NbMaxEtudiant <= 50)
{NbMaxEtudiant = pNbMaxEtudiant;}

else
{pNbMaxEtudiant = 25;}

if (pTitre.equals(""))
{Titre = "Sans Titre";}

else
{Titre = pTitre;}
}

public int getNbEtudiant()

{return NbEtudiant;} // Retourne le nombre d'étudiants que le groupe peut contenir

public int getNbMaxEtudiant()

{return NbMaxEtudiant;} // Retourne le nombre maximum d'étudiants que peut contenir ce groupe

public String getTitre()

{return Titre;} // Retourne le titre du cours

public int getNumEtudiant(int pPosition)
{
return NumEtu[pPosition];
}

public int getNote(int pPosition)
{
return Note[pPosition];// Retourne la position de la note
}

public int getNoteParticuliere(int pNumEtudiant) pNumEtudiant est le numero de letudiant dont on veut obtenir la note
{
int i=0;

if(pNumEtudiant >= 0 && pNumEtudiant <= 999999)
{
for(i = 0; i < NbEtudiant; i++)
{
if(NumEtu[i] == pNumEtudiant)
{NbEtudiant = i;}
}
return NumEtu[NbEtudiant]; // Retourne le numero d'étudiant pour chaque numéro d'étudiant (i)
}
else
{return -1;} // Retourne -1 s'il y a une erreur
}

public boolean estPlein()
{
if (NbEtudiant == NbMaxEtudiant)
{return true;} // Retourne vrai si le groupe est plein

else
{return false;} // Retourne faux si le groupe n'est pas plein
}

public boolean estVide()
{
if (NbEtudiant == 0)
{return true;} // Retourne vrai si le groupe est vide

else
{return false;} //Retourne faux si le groupe n'est pas vide
}

public boolean ajouterNote(int pNumEtu, int pNote)
{
if (pNote < 0 || pNote > 100 || pNumEtu < 0 || pNumEtu > 999999)
{
return false; // Retourne false si la note est plus grande que 100, plus petite que 0. Si le numero d'étudiant est plus petit que 0, plus grande que 999999
}
else
{
for (int i=0 ; i < NbEtudiant; i++)
{
if (NumEtu[i] != pNumEtu)
{
pNote = Note[i];
pNumEtu = NumEtu[i];
return true; // Retourne true si le numéro d'étudiant n'a pas déjà été rentré
}
}

return true; // Retourne vrai si le numéro d'étudiant et la note ont été ajoutés
}
}

public void setTitre(String pTitre)

{pTitre = Titre;}

public double calculerMoyenne()
{
double Moyenne = 0, Som = 0, m = 0;

if(Note[NbEtudiant] != -1)
{
for (int i=0; i < NbEtudiant; i++)
{
m = NbEtudiant;
Som = Som + Note[i];
m++;
}
Moyenne = Som / m;

return Moyenne; // Ret
}
else
{return -1;} // Retourne -1 s'il y a une erreur
}

public int trouverPlusPetiteNote()
{
int NotePP=0;

for (int i= 0; i < NbEtudiant; i++)
{
if(NotePP > Note[i])
{NotePP = Note[i];}
}
return NotePP;
}

public int trouverPlusGrandeNote()
{
int NotePG=0;

for(int i =0; i < NbEtudiant; i++)
{
if(NotePG < Note[i])
{NotePG = Note[i];}
}
return NotePG;
}

public int trouverPosPlusPetiteNote()
{
int positionPP=0, NotePP;

// NotePP = trouverPlusPetiteNote();

for(int i=0; i < NbEtudiant; i++)
{
Note[i] = trouverPlusPetiteNote();
positionPP = i;
}
return positionPP;
}

public int trouverPosPlusGrandeNote()
{
int positionPG=0;

for(int i=0; i < NbEtudiant; i++)
{
Note[i] = trouverPlusGrandeNote();
positionPG = i;
}
return positionPG;
}

public int trouverNumEtudiantPlusPetiteNote()
{
int NumEtuPP=0, NotePP;

for(int i=0; i < NbEtudiant; i++)
{
NumEtu[i] = trouverPlusPetiteNote();
NumEtuPP = NumEtu[i];
}
return NumEtuPP;
}

public int trouverNumEtudiantPlusGrandeNote()
{
int NumEtuPG=0;

for(int i=0; i < NumEtu.length; i++)
{
NumEtu[i] = trouverPlusGrandeNote();
NumEtuPG = NumEtu[i];
}
return NumEtuPG;
}

public void afficherRapport()
{
System.out.println("Titre du cours :" + Titre );
System.out.println("Nombre d'étudiants maximum :" + NbMaxEtudiant );
System.out.println("Nombre d'étudiants :" + NbEtudiant);
System.out.println("Moyenne :" + calculerMoyenne() );
System.out.println("Numero : Note");
System.out.println(getNumEtudiant(i)+ " : "+ getnote(i));
System.out.println(trouverNumEtudiantPlusPetiteNote()+ " : " +trouverPlusPetiteNote(i)+ " <----- Plus petite note");
System.out.println(trouverNumEtudiantPlusGrandeNote()+ " : " +trouverPlusGrandeNote(i)+ " <----- Plus grande note");
System.out.println(getNumEtudiant(i)+ " : " +getnote(i));
}

}

3 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
15 déc. 2008 à 01:14
il faudrait etre plus precis...
erreur a la compilation ?
pas d'erreur a la compilation mais le programme plante ?
pas d'erreur mais le programme ne fait pas ce que tu veux ?
0
elfierrudo Messages postés 6 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 24 mai 2009 1
15 déc. 2008 à 01:22
Ca compile jusqua maintenant.. .appart la methode afficherRapport mais ca c pas si grave que ca il reste des trucs a changer... appart ca tout compile mais je crois la methode ajouternote.. ca ajoute les notes.. mais ca les rentre pas ds un tableau.. c plutot ca qui me manquerait je crois.. et verifier si la methode getnoteparticuliere marcherait bien.. je suis encor enouveau en java...:D
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
15 déc. 2008 à 01:31
dans ta method ajouterNote je crois que tu veux ajouter dans le tableau note et numEtu si c'est ça il faut inverser c'est plutot
for (int i=0 ; i < NbEtudiant; i++) 
{ 
if (NumEtu[i] != pNumEtu) 
{ 
Note[i] = pNote; 
NumEtu[i] = pNumEtu; 
return true; // Retourne true si le numéro d'étudiant n'a pas déjà été rentré 
} 
}
0