private void CreationCalcul() { if (indexCalcul > 0) { calculs[indexCalcul - 1] = calcul; } calcul = new Calcul(generateur, nbrOperande, typeOperation); this.lbCalcul.Text = calcul.construireCalcul(false); indexCalcul++; }
/// <summary> /// Calcul et affiche les différentes calculs et les statistiques pour le résultat du questionnaire /// </summary> static void LancerSequenceCalcul() { Random generateur = new Random(); // Genérateur aléatoire de nombre Calcul calcul; // Objet représentant un calcul bool erreurSaisie = false; // Boolean pour l'erreur de saisie int nbrJuste = 0; // Compteur de réponse correct // Initilisation de la liste des anciens calculs ancienneSequenceCalcul = new Calcul[nbrCalcul]; // Affiche le message de sélection du menu AfficherChoixMenu(Menu.LANCEMENT_SEQUENCE_CALCUL); // Boucle pour le nombre de calcul et le comptage des lignes for (int numLigne = 1; numLigne <= nbrCalcul; numLigne++) { // Initialisation de l'objet Calcul calcul = new Calcul(generateur, nbrOperande, typeOperation); // Boucle pour la saisie d'une lettre do { // Ecrit le calcul Console.Write(" No {0} : {1}", numLigne, calcul.construireCalcul(false)); // TryParse de la saisie de l'utilisateur try { calcul.ReponseUtilisateur = int.Parse(Console.ReadLine()); erreurSaisie = false; } catch { erreurSaisie = true; Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("\t Veuillez saisir un nombre !"); Console.ResetColor(); } } while (erreurSaisie); // Inscrit le calcul dans la liste des anciens calcul ancienneSequenceCalcul[numLigne - 1] = calcul; // Test si le résultat est correct if (calcul.verifierResultat()) { nbrJuste++; Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("\t Correct !"); Console.ResetColor(); } else { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("\t Incorrect ! Réponse : {0}", calcul.calculerResultat()); Console.ResetColor(); } } // Affiche les statistique de la partie Console.WriteLine(); Console.WriteLine(" Nombre de calculs : {0}", nbrCalcul); Console.WriteLine(); Console.WriteLine(" Nombre de calcul corrects : {0}", nbrJuste); Console.WriteLine(" Nombre de calcul incorrects : {0}", nbrCalcul - nbrJuste); Console.WriteLine(); Console.WriteLine(" Pourcentage de réponse correct : {0}%", (((double)nbrJuste / nbrCalcul) * 100)); Console.WriteLine(); // Affiche une pause AfficherPause(); }