C# boucle For

Fermé
Frorock - 10 sept. 2022 à 11:56
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 11 sept. 2022 à 21:00

Bonjour, je suis étudiante en BTS informatique et j'apprends depuis peu le langage C#. Je dois donc rendre un TP sur C# mais j'ai du mal avec un exercice, j'aurais bien besoin de votre aide pour comprendre ce qu'il me manque :

Je dois utiliser la boucle FOR pour afficher si un nombre est pair ou impair avec une itération de 15, voici ce que j'ai marqué:

private void Text_Box_Result_ex3_TextChanged(object sender, TextChangedEventArgs e)
        {

                    
            for (int Nbr_ex3 = 0; Nbr_ex3 <= 15; Nbr_ex3++)
            {
                if (Nbr_ex3 % 2 == 0)

                {
                    Console.WriteLine("Le nombre {Nbr_ex3} est pair");
                }
            
                else
                {
                    Console.WriteLine("Le nombre {Nbr_ex3} est pair");
                }
            
            }

Merci pour votre aide !


Windows / Chrome 105.0.0.0

A voir également:

4 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
10 sept. 2022 à 12:39

Quel est le problème rencontré ?
Quel est le résultat obtenu vs celui désiré ?


0

Je n'ai pas d'erreur mais quand je lance mon programme rien ne se passe et le texte ne s'affiche pas, je ne comprends pas pourquoi

0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
10 sept. 2022 à 13:17

Bonjour,

Je ne crois pas qu'en WPF tu puisses utiliser Console.Writeline( ), essaie d'utiliser MessageBox.Show( ) à la place.



0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
11 sept. 2022 à 13:36

Bonjour Barnabé,

je n'avais pas vu que tu avais répondu pendant que je rédigeais ma réponse.

A priori, dans la question, rien ne permet d'affirmer que Frorock code en WPF, l'évènement TextChanged existe dans plusieurs versions d'IHM.

De plus, WPF est peu fréquemment abordé dans les cours pour débutants. En général, ces cours n'enseignent que le mode Console et Winform.


Ta proposition d'utiliser une messageBox est fonctionnelle, mais peu user friendly, en effet, 15 boites vont s'afficher, et 15 fois l'utilisateur devra cliquer sur OK.

Déjà que la majorité des gens cliquent sur OK sans lire quand une boite s'affiche, alors 15 boites…

0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024
11 sept. 2022 à 20:27

Bonjour Whismeril,

Je ne savais pas que l'évènement TextChanged existait ailleurs qu'en WPF, le manque d'expérience sans aucun doute.

Concernant les messageBox c'est clair que ce n'est pas user-friendly mais c'est juste pour pouvoir contrôler le bon fonctionnement de la procédure ;)

Bonne semaine à tous.

0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
11 sept. 2022 à 21:00

La TextBox est un contrôle assez basique que tu retrouves dans plus ou moins tous les types d'IHM de Microsoft depuis VB1 et/ou C++ MFC (je ne sais pas lequel est arrivé en premier).

Et l'évènement TextChanged existe pour toutes ces textBox, mais pas forcément avec ce nom exact

0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
10 sept. 2022 à 13:23

Bonjour

tout d'abord, pour tes prochains messages merci de lire et appliquer ceci 

https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Ton code montre des incohérences.

  • Tu lances ton calcul depuis une méthode abonnée à l'événement TextChanged d'une textbox.

Cela signifie que tu codes dans un environnement fenêtré (Winform, ASP, WPF, UIapp etc....), mais tu envoies le résultat dans la console. La console ne s'affiche pas dans une application fenêtrée (en vrai on peut, mais c'est pas le but, ni pour un débutant). Du dois utiliser un autre moyen pour afficher tes résultats, peupler une listBox par exemple.

  • Le fait d'utiliser l'événement TextChanged d'une TextBox est normalement réservé à des actions qui doivent être faites pendant la frappe du texte et en lien avec ce texte.

Là si l'utilisateur tape 1234, tes calculs vont être lancés 4 fois, quand il taperas 1, puis quand il tapera 2, puis quand il tapera 3 et quand il tapera 4. De plus tes calculs ne se servent pas du texte saisi dans la textbox. Pire, si un autre calcul affiche son résultat dans cette TextBox, alors à chaque fois que cet autre calcul sera fait, il relancera celui-ci.

Voilà donc 3 bonne raisons, de déclencher ce calcul d'une autre manière, la plus appropriée est le click sur un bouton je pense.


0