Problème Boucle While avec If

Signaler
Messages postés
3
Date d'inscription
lundi 7 octobre 2002
Statut
Membre
Dernière intervention
13 octobre 2006
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
bon j'explique, il faut que je fasse un pti programme du genre "élection" en Windows console

Je vous donne l'algo et vous verez ce que j'ai comme problème en bas :

// NOM DU PROGRAMME : Élection Grand Schtroumpf
// BUT : Créer un système d'affichage et de saisie de bulletins de votes d'une élection
// DATE CRÉATION / MOD : Vendredi 13 octobre 2006
// AUTEUR : Jérémie Dufault
using System;
using System.Collections.Generic;
using System.Text;
namespace electionschtroumpf
{
    class Program
    {
        static void Main(string[] args)
        {
            // Constantes
            const string NOM_INDECIS = "indécis"; // Nom donné pour indiquer les votes indécis
 
            // Variables d'entrées
            string s_candidat_1; // Nom du premier candidat
            string s_candidat_2; // Nom du deuxième candidat
            string s_candidat_3; // Nom du troisième candidat
            string s_nom_bulletin; // Nom du bulletin saisie
            string s_saisie; //Saisie temporaire
           
            // Variables de sortie
            double n_pourcentage_candidat1; // Pourcentage du nombre de vote du 1er candidat
            double n_pourcentage_candidat2; // Pourcentage du nombre de vote du 2eme candidat
            double n_pourcentage_candidat3; // Pourcentage du nombre de vote du 3eme candidat
            double n_pourcentage_indecis; // Pourcentage du nombre d'indécis

            int n_compteur_candidat1= 0; // Compteur de vote du premier candidat 
            int n_compteur_candidat2 = 0; // Compteur de vote du deuxieme candidat
            int n_compteur_candidat3 = 0; // Compteur de vote du troisieme
            int n_compteur_indecis = 0; // Compteur de vote des indecis
            int n_total_compteurs = 0; // Total des compteurs de votes

            // Début programme election_schtroumpf
 
            // Saisie des noms des candidats
            Console.Write("Entrez le nom du premier candidat : ");
            s_saisie= Console.ReadLine();
            s_candidat_1 = Convert.ToString(s_saisie);
            s_candidat_1 = s_candidat_1.ToLower();

            Console.Write("Entrez le nom du deuxième candidat : ");
            s_saisie = Console.ReadLine();
            s_candidat_2 = Convert.ToString(s_saisie);
            s_candidat_2 = s_candidat_2.ToLower();

            Console.Write("Entrez le nom du troisième candidat : ");
            s_saisie = Console.ReadLine();
            s_candidat_3 = Convert.ToString(s_saisie);
            s_candidat_3 = s_candidat_3.ToLower();

            // Saisie du bulletin de vote
            Console.Write("\n***** saisir le mot fin pour terminer l'ajout de vote *****");
            Console.Write("\n\nEntrez le nom sur le bulletin : ");
            s_nom_bulletin = Console.ReadLine();
            s_nom_bulletin = Convert.ToString(s_nom_bulletin);
            s_nom_bulletin = s_nom_bulletin.ToLower();

            //Boucle While du bulletin
                while (s_nom_bulletin != "fin")
                {
                    if (s_nom_bulletin == s_candidat_1)  //Bulletin du premier candidat
                    {
                       n_compteur_candidat1 = n_compteur_candidat1 + 1;
                       n_total_compteurs = n_total_compteurs + 1;
                    }
                    else if (s_nom_bulletin == s_candidat_2) //Bulletin du deuxième candidat
                        {
                           n_compteur_candidat2 = n_compteur_candidat2 + 1;
                           n_total_compteurs = n_total_compteurs + 1;
                        }
                        else if (s_nom_bulletin == s_candidat_3) //Bulletin du troisième candidat
                            {
                               n_compteur_candidat3 = n_compteur_candidat3 + 1;
                               n_total_compteurs = n_total_compteurs + 1;
                            }
                            else
                            n_compteur_indecis = n_compteur_indecis + 1; //Bulletin de voteurs indécis
                            n_total_compteurs = n_total_compteurs + 1;
             }
          
        }
    }
}

Bon le problème c'est que quand J'écris, par exemple, un des noms de candidats (s_candidat) dans la saisie du bulletin de vote (s_nom_bulletin) il ne veut pas retourner au début de la boucle while...je peut sortir avec ma variables "fin".

Merci!

vous pouvez copier le texte et l'essayer sous Visual studio..

1 réponse

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Salut,
Bon, niveau conceptuel ton programme c'est pas le pied...
Mais bon, je te l'ai quand même corrigé pour qu'il marche :

// NOM DU PROGRAMME : Élection Grand Schtroumpf
// BUT : Créer un système d'affichage et de saisie de bulletins de votes d'une élection
// DATE CRÉATION / MOD : Vendredi 13 octobre 2006
// AUTEUR : Jérémie Dufault
using System;
using System.Collections.Generic;
using System.Text;
namespace electionschtroumpf
{
    class Program
    {
        static void Main(string[] args)
        {
            // Variables d'entrées
            string s_candidat_1; // Nom du premier candidat
            string s_candidat_2; // Nom du deuxième candidat
            string s_candidat_3; // Nom du troisième candidat
            string s_nom_bulletin; // Nom du bulletin saisie
            string s_saisie; //Saisie temporaire



            int n_compteur_candidat1 = 0; // Compteur de vote du premier candidat 
            int n_compteur_candidat2 = 0; // Compteur de vote du deuxieme candidat
            int n_compteur_candidat3 = 0; // Compteur de vote du troisieme
            int n_compteur_indecis = 0; // Compteur de vote des indecis
            int n_total_compteurs = 0; // Total des compteurs de votes



            // Début programme election_schtroumpf



            // Saisie des noms des candidats
            Console.Write("Entrez le nom du premier candidat : ");
            s_saisie = Console.ReadLine();
            s_candidat_1 = Convert.ToString(s_saisie);
            s_candidat_1 = s_candidat_1.ToLower();



            Console.Write("Entrez le nom du deuxième candidat : ");
            s_saisie = Console.ReadLine();
            s_candidat_2 = Convert.ToString(s_saisie);
            s_candidat_2 = s_candidat_2.ToLower();



            Console.Write("Entrez le nom du troisième candidat : ");
            s_saisie = Console.ReadLine();
            s_candidat_3 = Convert.ToString(s_saisie);
            s_candidat_3 = s_candidat_3.ToLower();



            //Boucle While du bulletin
            do
            {
                // Saisie du bulletin de vote
                Console.Write("\n***** saisir le mot fin pour terminer l'ajout de vote *****");
                Console.Write("\n\nEntrez le nom sur le bulletin : ");
                s_nom_bulletin = Console.ReadLine();
                s_nom_bulletin = Convert.ToString(s_nom_bulletin);
                s_nom_bulletin = s_nom_bulletin.ToLower();



                if (s_nom_bulletin == s_candidat_1) n_compteur_candidat1++;
                else if (s_nom_bulletin == s_candidat_2) n_compteur_candidat2++;
                else if (s_nom_bulletin == s_candidat_3) n_compteur_candidat3++;
                else n_compteur_indecis = n_compteur_indecis + 1; //Bulletin de voteurs indécis



                n_total_compteurs++;
            }
            while (s_nom_bulletin != "fin");
        }
    }
}







<hr size="2" />



-Blog-