Problème Boucle While avec If

jedduff Messages postés 3 Date d'inscription lundi 7 octobre 2002 Statut Membre Dernière intervention 13 octobre 2006 - 13 oct. 2006 à 23:49
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 14 oct. 2006 à 13:54
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

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 62
14 oct. 2006 à 13:54
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-
0