示例#1
0
        // Affiche le nom des pays qui vont affronter le pays passé en paramètre
        private static void AfficherAdversairePays(List <Pays> listePays, string pays)
        {
            Pays achercher;
            int  pos;
            char groupe;

            // On récupère le groupe du pays concerné
            achercher = new Pays(' ', ' ', pays, "", 0, 0);
            pos       = listePays.BinarySearch(achercher);
            if (pos < 0)
            {
                Console.WriteLine("Le pays '{0}' n'est pas dans la liste!", pays);
                return;
            }
            groupe = listePays.ElementAt(pos).Groupe;

            // On liste les pays qui vont l'affronter
            Console.WriteLine("Le pays '{0}' va affronter les pays suivants : \n", pays);
            Pays.codeEquals = Pays.EnumCodeEquals.Groupe;
            achercher       = new Pays(groupe, ' ', "", "", 0, 0);
            pos             = 0;
            while ((pos = listePays.IndexOf(achercher, pos)) >= 0)
            {
                // On ignore le pays traité
                if (listePays.ElementAt(pos).Nom.ToUpper() != pays.ToUpper())
                {
                    Console.WriteLine("\t- {0}", listePays.ElementAt(pos).Nom);
                }
                pos++;
            }
        }
示例#2
0
        // Recherche et affiche le nom du pays ayant la plus petite population
        private static void AfficherPaysMoinsPeuple(List <Pays> listePays)
        {
            // On recherche la plus petite valeur
            int moinsPeuple = listePays.Min(t => t.Population);

            // On récupère l'index de ce pays
            Pays.codeEquals = Pays.EnumCodeEquals.Population;
            Pays aChercher = new Pays(' ', ' ', "", "", 0, moinsPeuple);
            int  pos       = listePays.IndexOf(aChercher);

            Console.WriteLine(" - Le pays le moins peuplé est : {0}", listePays.ElementAt(pos).Nom);
        }
示例#3
0
        // Recherche et affiche le nom du pays ayant la plus petite superficie
        private static void AfficherPaysMoinsSuperficie(List <Pays> listePays)
        {
            // On recherche la plus petite valeur
            int moinsSuperficie = listePays.Min(t => t.Superficie);

            // On récupère l'index de ce pays
            Pays.codeEquals = Pays.EnumCodeEquals.Superficie;
            Pays aChercher = new Pays(' ', ' ', "", "", moinsSuperficie, 0);
            int  pos       = listePays.IndexOf(aChercher);

            Console.WriteLine(" - Le pays ayant la plus petite superficie est : {0}", listePays.ElementAt(pos).Nom);
        }
示例#4
0
 // Affiche les données des pays passés en paramètre
 private static void AfficherDetailPays(List <Pays> listePays, List <string> listeToDisplay)
 {
     foreach (var pays in listeToDisplay)
     {
         Pays aChercher = new Pays(' ', ' ', pays.ToUpper(), "", 0, 0);
         int  pos       = listePays.BinarySearch(aChercher);
         if (pos >= 0)
         {
             Console.WriteLine(" - {0}", listePays.ElementAt(pos).ToString());
         }
         else
         {
             Console.WriteLine(" - Le pays '{0}' n'est pas dans la liste.", pays.ToUpper());
         }
     }
 }
示例#5
0
        // Supprime les pays passés en paramètre
        private static void SupprimerPays(List <Pays> listePays, List <string> listeToDelete)
        {
            string msg = "";

            foreach (var pays in listeToDelete)
            {
                Pays aChercher = new Pays(' ', ' ', pays, "", 0, 0);
                int  pos       = listePays.IndexOf(aChercher);
                // On supprime toute les instances du pays
                while ((pos = listePays.IndexOf(aChercher)) >= 0)
                {
                    listePays.RemoveAt(pos);
                    msg += pays + " ";
                }
            }
            Console.WriteLine(" - Les pays suivants ont été supprimés : {0}", msg);
        }
示例#6
0
        // Point d'entré du programme
        static void Main(string[] args)
        {
            const string fileName  = "WorldCup_2018.txt";
            List <Pays>  listePays = new List <Pays>();


            // 1. Lire le fichier des données WorldCup_2018.txt et créer une  liste;
            AfficheTitre("1. Lire le fichier des données WorldCup_2018.txt et créer une liste :");
            listePays = LireFichier(fileName);
            Console.WriteLine("");


            // 2. Afficher les 6 premiers et les 4 derniers pays de la liste;
            AfficheTitre("2. Afficher les 6 premiers et les 4 derniers pays de la liste :");
            AfficherListe(listePays, 6, 4);
            Console.WriteLine("");


            // 3a. Modifier le groupe du premier  pays ‘A’ au lieu de ‘Z’
            AfficheTitre("3a. Modifier le groupe du premier  pays ‘A’ au lieu de ‘Z’ :");
            ModifierGroupePosition(listePays, 0, 'A');
            Console.WriteLine("");

            // 3b. Modifier la superficie du dernier pays : 449964 km2 au lieu de 944964 km2
            AfficheTitre("3b. Modifier la superficie du dernier pays : 449964 km2 au lieu de 944964 km2 :");
            ModifierSuperficiePosition(listePays, listePays.Count - 1, 449964);
            Console.WriteLine("");


            // 4. Supprimer les deux pays qui ne sont pas qualifiés pour cette coupe : ITALIE et SUISSE
            AfficheTitre("4. Supprimer les deux pays qui ne sont pas qualifiés pour cette coupe :");
            List <string> paysToDelete = new List <string> {
                "ITALIE", "SUISSE"
            };

            SupprimerPays(listePays, paysToDelete);
            Console.WriteLine("");


            // 5. Ajouter la France à la liste : C, 5, FRANCE, PARIS, 543964, 61387038
            AfficheTitre("5. Ajouter la France à la liste :");
            Pays france = new Pays('C', '5', "FRANCE", "PARIS", 543964, 61387038);

            AjouterPays(listePays, france);
            Console.WriteLine("");


            // 6a. Déterminer et afficher le continent ayant plus de pays participants;
            AfficheTitre("6a. Déterminer et afficher le continent ayant plus de pays participants :");
            AfficherContinentPlusPays(listePays);
            Console.WriteLine("");

            // 6b. Déterminer et afficher le continent ayant le moins de pays participants;
            AfficheTitre("6b. Déterminer et afficher le continent ayant le moins de pays participants :");
            AfficherContinentMoinsPays(listePays);
            Console.WriteLine("");

            // 6c. Déterminer et afficher le pays le moins peuplé en population
            AfficheTitre("6c. Déterminer et afficher le pays le moins peuplé en population :");
            AfficherPaysMoinsPeuple(listePays);
            Console.WriteLine("");

            // 6d. Déterminer et afficher le pays le plus petit en superficie
            AfficheTitre("6d. Déterminer et afficher le pays le plus petit en superficie :");
            AfficherPaysMoinsSuperficie(listePays);
            Console.WriteLine("");


            // 7. Trier la liste selon les noms des pays en utilisant la méthode Sort;
            AfficheTitre("7. Trier la liste selon les noms des pays en utilisant la méthode Sort :");
            TrierListeParPays(listePays);
            Console.WriteLine("");


            // 8. Afficher les 6 premiers et les 4 derniers pays de la liste après le tri
            AfficheTitre("8. Afficher les 6 premiers et les 4 derniers pays de la liste après le tri :");
            AfficherListe(listePays, 6, 4, "après le tri");
            Console.WriteLine("");


            // 9. Faire la recherche des pays suivants dans la liste : Japon,  Canada et Italie
            AfficheTitre("9. Faire la recherche des pays suivants dans la liste : Japon,  Canada et Italie :");
            List <string> cherchePays = new List <string> {
                "Japon", "Canada", "Italie"
            };

            AfficherDetailPays(listePays, cherchePays);
            Console.WriteLine("");


            // 10. Déterminer et afficher les pays que le Bresil les affrontera au 1er tour (ceux du même groupe que le Brésil)
            AfficheTitre("10. Déterminer et afficher les pays que le Bresil affrontera au 1er tour :");
            AfficherAdversairePays(listePays, "Bresil");
            Console.WriteLine("");
        }
示例#7
0
 // Ajout d'un pays à la liste
 private static void AjouterPays(List <Pays> listePays, Pays pays)
 {
     listePays.Add(pays);
     Console.WriteLine(" - Le pays suivant à été ajouté :\n\t{0}", pays.ToString());
 }