public void CalculerNote() { int somme = 0; List <double> notes = new List <double>(); foreach (Personne e in Combinaison) { if (e != Eleves[0]) { int place = Combinaison.IndexOf(e); string projet = Projets[place]; int voeux = e.RecupererVoeux(projet); somme += NbProjet - voeux; notes.Add(voeux); } } double moyenne = Convert.ToDouble(somme) / (Eleves.Count() - 1); double s = CalculerEcartType(moyenne, notes); double note = somme - s; if (note >= Max) { AfficherCombinaison(note); Max = note; } }
public void TesterCombinaison(Personne eleve) //Fonction recursive permettant de tester toutes les possibilités { int index = Eleves.IndexOf(eleve); foreach (string p in eleve.Projets) { int indexP = Projets.IndexOf(p); //Comme va être automatiquement pris seulement le premier projet de la liste quand plusieurs projet sont en fait le même, on regarde si les autres sont libre if (Combinaison[indexP] != Eleves[0]) { bool present = false; int i = 0; while ((present == false) && (i < NbPlaces) && (indexP + i < Projets.Count() - 1)) { i++; if ((Projets[indexP] == Projets[indexP + i]) && (Combinaison[indexP + i] == Eleves[0])) { present = true; indexP += i; } } } if (Combinaison[indexP] == Eleves[0]) { //Condition d'arret de la recursivité : Si on a plus d'élèves à traiter en stock Combinaison[indexP] = eleve; if (index + 1 >= Eleves.Count()) { if (VerifierComplet()) { CalculerNote(); } Combinaison[indexP] = Eleves[0]; } else { TesterCombinaison(Eleves[index + 1]); Combinaison[indexP] = Eleves[0]; } } } }
public Adresse Update(Eleves model) { throw new NotImplementedException(); }
public static Eleves GetEleves(int IdEleve) { Eleves results = null; string connectionString = ConfigurationManager.ConnectionStrings["Database1"].ConnectionString; try { using (SqlConnection cn = new SqlConnection(connectionString)) { string query = "Select * from Eleves where Id=@IdEleve "; SqlCommand cmd = new SqlCommand(query, cn); cmd.Parameters.AddWithValue("@IdEleve", IdEleve); cn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { if (results == null) { results = new Eleves(); } Eleves eleve = new Eleves(); eleve.Id = (int)dr["Id"]; if (dr["Nom"] != null) { eleve.Nom = (String)dr["Nom"]; } if (dr["Prenom"] != null) { eleve.Prenom = (string)dr["Prenom"]; } if (dr["Username"] != null) { eleve.Username = (string)dr["Username"]; } if (dr["Password"] != null) { eleve.Password = (string)dr["Password"]; } if (dr["Classes_Id"] != null) { eleve.Classes_Id = (int)dr["Classes_Id"]; } results = eleve; } } } } catch (Exception e) { throw e; } return(results); }