Programme rentrer des notes pour un cours
elfierrudo
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
mype Messages postés 2449 Statut Membre -
mype Messages postés 2449 Statut Membre -
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));
}
}
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));
}
}
A voir également:
- Programme rentrer des notes pour un cours
- Programme demarrage windows - Guide
- Panne tnt en cours aujourd'hui - Guide
- Mettre en veille un programme - Guide
- Bloc-notes (windows) - Télécharger - Traitement de texte
- Retrouver une musique avec les notes - Guide
3 réponses
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 ?
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 ?
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
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é
}
}