static void Main(string[] args) { InitialiserDatas(); var prenomsG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom); Console.WriteLine("La liste des prenoms des auteurs dont le nom commence par \"G\""); foreach (var prenom in prenomsG) { Console.WriteLine(prenom); } Console.WriteLine(); var auteurPlusDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(g => g.Count()).FirstOrDefault().Key; Console.WriteLine("Qui a écrit le plus de livres"); Console.WriteLine($"{auteurPlusDeLivres.Prenom} {auteurPlusDeLivres.Nom}"); Console.WriteLine(); var livresparAuteur = ListeLivres.GroupBy(l => l.Auteur); Console.WriteLine("Nombre moyen de pages par livre par auteur"); foreach (var item in livresparAuteur) { Console.WriteLine($"{item.Key.Prenom} {item.Key.Nom} moyennes des pages={item.Average(l => l.NbPages)}"); } Console.WriteLine(); var livreMaxPage = ListeLivres.OrderByDescending(l => l.NbPages).First(); Console.WriteLine("Quel est le titre du livre avec le plus de pages"); Console.WriteLine(livreMaxPage.Titre); Console.WriteLine(); var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant)); Console.WriteLine("Money en moyenne"); Console.WriteLine(moyenne); Console.WriteLine(); Console.WriteLine("Liste auteurs et Liste livres"); var livresparAuteur2 = ListeLivres.GroupBy(l => l.Auteur); foreach (var livres in livresparAuteur2) { Console.WriteLine($"Auteur : {livres.Key.Prenom} {livres.Key.Nom} "); foreach (var livre in livres) { Console.WriteLine($" - {livre.Titre}"); } } Console.WriteLine(); Console.WriteLine("Titres de tous les livres alphabétiquement"); ListeLivres.Select(l => l.Titre).OrderBy(t => t).ToList().ForEach(Console.WriteLine); Console.WriteLine(); Console.WriteLine("Liste des livres where nombre de page est > à la moyenne"); var moyennePages = ListeLivres.Average(l => l.NbPages); var livresPagesSupMoy = ListeLivres.Where(l => l.NbPages > moyennePages); foreach (var livre in livresPagesSupMoy) { Console.WriteLine($" - {livre.Titre}"); } Console.WriteLine(); Console.WriteLine("Qui a écrit le moins de livre "); var auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault(); Console.WriteLine($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}"); Console.ReadKey(); }
static void Main(string[] args) { InitialiserDatas(); /*var auteurs = ListeAuteurs; * var livres = ListeLivres;*/ Console.WriteLine("Liste de tous les auteurs : "); foreach (var auteur in ListeAuteurs) { Console.WriteLine(auteur.Nom); } var auteursNomG = ListeAuteurs.Where(a => a.Nom.StartsWith("G")).Select(a => a.Prenom); foreach (var auteur in auteursNomG) { Console.WriteLine($"Liste de tous les auteurs dont le nom commence par G : {auteur} \n"); } // Afficher l auteur ayant écrit le plus de livres Console.WriteLine("L'auteur ayant écrit le plus de livres : "); var autMaxLivre = ListeLivres.Select(a => a.Auteur).First(); Console.WriteLine(autMaxLivre.Nom); var auteurMaxLivres = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(n => n.Count()).First().Key; Console.WriteLine("L'auteur ayant écrit le plus de livres : " + auteurMaxLivres.Nom); //Afficher le nombre moyen de pages par livre par auteur var pageMoyenLivres = ListeLivres.GroupBy(l => l.Auteur); foreach (var element in pageMoyenLivres) { Console.WriteLine($"{element.Key.Prenom} {element.Key.Nom} écrit en moyenne {element.Average(e => e.NbPages)} pages"); } //Afficher le titre du livre avec le plus de pages var livreMaxPAge = ListeLivres.OrderByDescending(p => p.NbPages).First(); Console.WriteLine($"Le livre ayant le max de pages est : {livreMaxPAge.Titre}"); //Afficher combien ont gagné les auteurs en moyenne (moyenne des factures) var gagnerAuteur = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant)); Console.WriteLine($"En moyenne les autteurs ont gangé {gagnerAuteur} €"); //Afficher les auteurs et la liste de leurs livres var auteurs = ListeAuteurs; var livres = ListeLivres; /* foreach (var auth in ListeAuteurs) * { * Console.WriteLine("Auteur : " + auth.Nom); * * foreach (var livreParAuth in ListeLivres) * { * Console.WriteLine(livreParAuth.Titre); * } * }*/ //Afficher les titres de tous les livres triés par ordre alphabétique var listeLivreCroissant = ListeLivres.OrderBy(l => l.Titre).Select(t => t.Titre); Console.WriteLine("Liste des livres par ordre alphabétique"); foreach (var livreAlph in listeLivreCroissant) { Console.WriteLine(livreAlph); } //Afficher la liste des livres dont le nombre de page s est supérieur à la moyenne var moyennePage = ListeLivres.Average(p => p.NbPages); var livresSupMoyenne = ListeLivres.Where(p => p.NbPages > moyennePage); Console.WriteLine($"Liste des livres dont le nombre de page est sup a {moyennePage} :"); foreach (var livreSup in livresSupMoyenne) { Console.WriteLine(livreSup.Titre); } //Afficher l'auteur ayant écrit le moins de livres Console.WriteLine("L'auteur ayant écrit le moins de livres : "); var authMoinsLivre = ListeLivres.Select(a => a.Auteur).Last(); Console.WriteLine(authMoinsLivre.Nom); Console.ReadKey(); }
static void Main(string[] args) { InitialiserDatas(); var prenomsStartG = ListeAuteurs.Where(a => a.Nom.StartsWith("G")).Select(a => a.Prenom); Console.WriteLine("Voici la liste des prenoms des auteurs dont le nom commence par la lettre G \n"); foreach (var prenom in prenomsStartG) { Console.WriteLine(prenom); } Console.WriteLine("-----------------------------------------------------------------------------"); var authorMostBooks = ListeLivres.GroupBy(a => a.Auteur).OrderByDescending(b => b.Count()).FirstOrDefault().Key; Console.WriteLine("L'auteur qui a écrit le plus de livre est : \n"); Console.WriteLine($"{authorMostBooks.Nom.ToUpper()} {authorMostBooks.Prenom}"); Console.WriteLine("-----------------------------------------------------------------------------"); var booksByAuthor = ListeLivres.GroupBy(a => a.Auteur); Console.WriteLine("Voici le nombre moyen de pages par livre par auteur \n"); foreach (var item in booksByAuthor) { Console.WriteLine($"{item.Key.Nom.ToUpper()} {item.Key.Prenom} avec une moyenne de pages = {item.Average(b => b.NbPages)}"); } Console.WriteLine("-----------------------------------------------------------------------------"); var booksMostPages = ListeLivres.OrderByDescending(a => a.NbPages).First(); Console.WriteLine("Le titre du livre avec le plus de pages : \n"); Console.WriteLine($"{booksMostPages.Titre} avec {booksMostPages.NbPages} pages."); Console.WriteLine("-----------------------------------------------------------------------------"); var averageAuthorGains = ListeAuteurs.Average(a => a.Factures.Sum(b => b.Montant)); Console.WriteLine("Voici combien les auteurs ont gagnés en moyenne \n"); Console.WriteLine(averageAuthorGains); Console.WriteLine("-----------------------------------------------------------------------------"); var booksByAuthor2 = ListeLivres.GroupBy(a => a.Auteur); foreach (var books in booksByAuthor2) { Console.WriteLine(); Console.WriteLine($"Voici les livres de {books.Key.Nom.ToUpper()} {books.Key.Prenom} : \n"); foreach (var book in books) { Console.WriteLine(book.Titre); } } Console.WriteLine("-----------------------------------------------------------------------------"); var booksByOrder = ListeLivres.Select(a => a.Titre).OrderBy(b => b).ToList(); Console.WriteLine("Voici les titres des livres par ordre alphabétique \n"); foreach (var title in booksByOrder) { Console.WriteLine(title); } Console.WriteLine("-----------------------------------------------------------------------------"); var averagePages = ListeLivres.Average(a => a.NbPages); var booksAboveAveragePages = ListeLivres.Where(a => a.NbPages > averagePages); Console.WriteLine($"Les titres des livres supérieures à la moyenne en page : \n"); foreach (var book in booksAboveAveragePages) { Console.WriteLine($"{book.Titre}"); } Console.WriteLine("-----------------------------------------------------------------------------"); var authorWithLessBook = ListeLivres.GroupBy(a => a.Auteur).OrderBy(b => b.Count()).FirstOrDefault().Key; Console.WriteLine($"L'auteur ayant écrit le moins de livres : \n"); Console.WriteLine(authorWithLessBook.Nom); Console.ReadKey(); }
static void Main(string[] args) { InitialiserDatas(); // Liste prénoms auteurs commencant par G var auteurCommencantParG = ListeAuteurs.Where(a => a.Nom.Substring(0, 1) == "G"); Console.WriteLine("Liste prénoms auteurs commencant par G"); foreach (var a in auteurCommencantParG) { Console.WriteLine(a.Prenom); } // Auteur ayant écrit le plus de livres var auteurs = ListeLivres.GroupBy( l => l.Auteur, (baseId, ids) => new { Key = baseId, Count = ids.Count() }); Console.WriteLine(); Console.WriteLine("Auteur ayant écrit le plus de livres"); foreach (var a in auteurs) { Console.WriteLine(a.Key.Nom); Console.WriteLine(a.Count); } //Nombre moyen de pages par auteurs //var pagesParAuteur = ListeLivres.GroupBy( // l => l.Auteur, // (basePage, pages) => new // { // Key = basePage, // Min = pages.Min() // }); //Console.WriteLine(); //Console.WriteLine("Nombre de pages myen par auteur"); //foreach (var a in pagesParAuteur) //{ // Console.WriteLine(a.Key.Nom); // Console.WriteLine(a.Min); //} //Auteur et liste de leurs livres Console.WriteLine(); Console.WriteLine("Auteur et liste de leurs livres"); foreach (var a in ListeAuteurs) { var livresAuteurs = ListeLivres.Where(l => l.Auteur == a); StringBuilder sb = new StringBuilder(); sb.Clear(); sb = sb.Append(a.Nom).Append(" : "); foreach (var l in livresAuteurs) { sb = sb.Append(l.Titre).Append("; "); } Console.WriteLine(sb); } // Titre de tous les livres triés var livres = ListeLivres.OrderBy(l => l.Titre); Console.WriteLine(); Console.WriteLine("Titres triés par ordre alpha"); foreach (var l in livres) { Console.WriteLine(l.Titre); } // Livres dont le nb de pages est > à la moyenne var listNbPages = ListeLivres.Select(l => l.NbPages); double nbPagesMoyen = listNbPages.Average(); var livresSupMoyenne = ListeLivres.Where(l => l.NbPages > nbPagesMoyen); Console.WriteLine(); Console.WriteLine("Livres dont le nb de pages est > à la moyenne"); foreach (var l in livresSupMoyenne) { Console.WriteLine(l.Titre); } //Console.WriteLine(nbPagesMoyen); Console.ReadKey(); }
static void Main(string[] args) { InitialiserDatas(); var prenomsG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom); Console.WriteLine("Liste Auteurs qui commence par\"G\""); foreach (var prenom in prenomsG) { Console.WriteLine(prenom); } Console.WriteLine(); var auteurPlusDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(g => g.Count()).FirstOrDefault().Key; Console.WriteLine("Auteur qui a ecrit le plus de livre"); Console.WriteLine($"{auteurPlusDeLivres.Prenom} {auteurPlusDeLivres.Nom}"); Console.WriteLine(); var livresparAuteur = ListeLivres.GroupBy(l => l.Auteur); Console.WriteLine("nombre page moyen par auteur"); foreach (var item in livresparAuteur) { Console.WriteLine($"{item.Key.Prenom} {item.Key.Nom} moyennes des pages={item.Average(l => l.NbPages)}"); } Console.WriteLine(); var livreMaxPage = ListeLivres.OrderByDescending(l => l.NbPages).First(); Console.WriteLine("livre avec plus de page"); Console.WriteLine(livreMaxPage.Titre); Console.WriteLine(); var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant)); Console.WriteLine("Combien ont gagne en moyenne"); Console.WriteLine(moyenne); Console.WriteLine(); Console.WriteLine("liste auteurs et de leurs livres"); var livresparAuteur2 = ListeLivres.GroupBy(l => l.Auteur); foreach (var livres in livresparAuteur2) { Console.WriteLine($"Auteur : {livres.Key.Prenom} {livres.Key.Nom} "); foreach (var livre in livres) { Console.WriteLine($" - {livre.Titre}"); } } Console.WriteLine(); Console.WriteLine(" livres par ordre alphabethique"); ListeLivres.Select(l => l.Titre).OrderBy(t => t).ToList().ForEach(Console.WriteLine); Console.WriteLine(); Console.WriteLine(""); var moyennePages = ListeLivres.Average(l => l.NbPages); var livresPagesSupMoy = ListeLivres.Where(l => l.NbPages > moyennePages); foreach (var livre in livresPagesSupMoy) { Console.WriteLine($" - {livre.Titre}"); } Console.WriteLine(); //- Afficher l'auteur ayant écrit le moins de livres Console.WriteLine("- Auteur ayant ecrit le moins de livres"); // var auteurMoinsDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderBy(g => g.Count()).FirstOrDefault().Key; var auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault(); Console.WriteLine($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}"); Console.ReadKey(); }
static void Main(string[] args) { InitialiserDatas(); //DEBUT prenom commencant par G var listPrenomG = ListeAuteurs.Where(a => a.Nom.StartsWith("G")).Select(a => a.Prenom); Console.WriteLine("Prénoms commencant par G : "); foreach (var prenomG in listPrenomG) { Console.WriteLine(prenomG); } //FIN prenom commencant par G Console.WriteLine(); //DEBUT auteur avec le plus de livre var auteurMaxLivre = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(l => l.Count()).FirstOrDefault().Key; Console.WriteLine($"L'auteur avec le plus de livre est : {auteurMaxLivre.Prenom} {auteurMaxLivre.Nom}"); //FIN auteur avec le plus de livre Console.WriteLine(); //DEBUT nombre moyen page par auteur var ListeLivresParAuteur = ListeLivres.GroupBy(l => l.Auteur); Console.WriteLine("Nombre moyens de page par auteur : "); foreach (var listeLivres in ListeLivresParAuteur) { var nbPage = listeLivres.Average(l => l.NbPages); Console.WriteLine($"{listeLivres.Key.Prenom} {listeLivres.Key.Nom} a une moyennes de page de {nbPage}"); } //FIN nombre moyen page par auteur Console.WriteLine(); //DEBUT Livre avec le plus de page var livreMaxPage = ListeLivres.OrderByDescending(l => l.NbPages).First(); Console.WriteLine($"Le livre avec le plus de page est : {livreMaxPage.Titre}"); //FIN Livre avec le plus de page Console.WriteLine(); //DEBUT Moyenne des factures auteurs var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant)); Console.WriteLine($"La moyenne est de : {moyenne}"); //FIN Moyenne des factures auteurs Console.WriteLine(); //DEBUT Auteurs et leurs livres Console.WriteLine("Les auteurs et leurs livres : "); foreach (var listeLivres in ListeLivresParAuteur) { Console.WriteLine($"{listeLivres.Key.Prenom} {listeLivres.Key.Nom} :"); foreach (var livre in listeLivres) { Console.WriteLine($" - {livre.Titre}"); } } //FIN Auteurs et leurs livres Console.WriteLine(); //DEBUT Livres par ordre alphabétique Console.WriteLine("Livres par ordre alphabétique : "); var listeLivreOrdre = ListeLivres.Select(l => l.Titre).OrderBy(t => t); foreach (var livre in listeLivreOrdre) { Console.WriteLine($" - {livre}"); } //FIN Livres par ordre alphabétique Console.WriteLine(); //DEBUT Livre nombre page > moyenne Console.WriteLine("Livre nombre page > moyenne :"); var moyennePages = ListeLivres.Average(l => l.NbPages); var livresSuppMoyenne = ListeLivres.Where(l => l.NbPages > moyennePages); foreach (var livre in livresSuppMoyenne) { Console.WriteLine($" - {livre.Titre}"); } //FIN Livre nombre page > moyenne Console.WriteLine(); //DEBUT Auteur avec le moins de livre var auteurMoinsLivre = ListeLivres.GroupBy(l => l.Auteur).OrderBy(l => l.Count()).FirstOrDefault().Key; Console.WriteLine($"L'auteur avec le moins de livre est : {auteurMoinsLivre.Prenom} {auteurMoinsLivre.Nom}"); //FIN Auteur avec le moins de livre Console.ReadKey(); }
static void Main(string[] args) { InitialiserDatas(); Console.WriteLine("test"); // ◦ Afficher la liste des prénoms des auteurs dont le nom commence par "G" var CommenceParG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom); Console.WriteLine("Afficher la liste des prenoms des auteurs dont le nom commence par G :"); foreach (var prenomG in CommenceParG) { Console.WriteLine(prenomG); } Console.WriteLine(); // ◦ Afficher l’auteur ayant écrit le plus de livres var auteurPlusEcrit = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(g => g.Count()).FirstOrDefault().Key; Console.WriteLine("auteur qui a écrit le plus de livres"); Console.WriteLine($"{auteurPlusEcrit.Prenom} {auteurPlusEcrit.Nom}"); Console.WriteLine(); // ◦ Afficher le nombre moyen de pages par livre par auteur var livresparAuteur = ListeLivres.GroupBy(l => l.Auteur); Console.WriteLine("nombre moyen de pages par livre et par auteur"); foreach (var item in livresparAuteur) { Console.WriteLine($"{item.Key.Prenom} {item.Key.Nom} a une moyenne des pages de {item.Average(l => l.NbPages)} par livre"); } Console.WriteLine(); // ◦ Afficher le titre du livre avec le plus de pages var livrePlusPage = ListeLivres.OrderByDescending(l => l.NbPages).First(); Console.WriteLine("le livre avec le plus de pages"); Console.WriteLine(livrePlusPage.Titre); Console.WriteLine(); // ◦ Afficher combien ont gagné les auteurs en moyenne(moyenne des factures) var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant)); Console.WriteLine("Combien ont gagné les auteurs en moyenne"); Console.WriteLine(moyenne); Console.WriteLine(); // ◦ Afficher les auteurs et la liste de leurs livres Console.WriteLine("auteurs et leurs livres"); var auteurEtLivre = ListeLivres.GroupBy(l => l.Auteur); foreach (var livres in auteurEtLivre) { Console.WriteLine($"Auteur : {livres.Key.Prenom} {livres.Key.Nom} "); foreach (var livre in livres) { Console.WriteLine($" - {livre.Titre}"); } } Console.WriteLine(); // ◦ Afficher les titres de tous les livres triés par ordre alphabétique Console.WriteLine("livres triés par ordre alphabétique"); ListeLivres.Select(l => l.Titre).OrderBy(t => t).ToList().ForEach(Console.WriteLine); Console.WriteLine(); // ◦ Afficher la liste des livres dont le nombre de pages est supérieur à la moyenne Console.WriteLine("liste des livres dont le nombre de page est supérieur à la moyenne"); var moyennePages = ListeLivres.Average(l => l.NbPages); var livresPagesSupMoy = ListeLivres.Where(l => l.NbPages > moyennePages); foreach (var livre in livresPagesSupMoy) { Console.WriteLine($" - {livre.Titre}"); } Console.WriteLine(); // ◦ Afficher l'auteur ayant écrit le moins de livres Console.WriteLine("auteur ayant écrit le moins de livres"); // var auteurMoinsDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderBy(g => g.Count()).FirstOrDefault().Key; var auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault(); Console.WriteLine($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}"); Console.ReadKey(); Console.ReadLine(); }