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(); Console.WriteLine("Afficher la liste des prénoms des auteurs dont le nom commence par 'G'"); var listeAuteursG = ListeAuteurs.Where(a => a.Nom.Substring(0, 1).ToLower().Equals("g")); foreach (var auteur in listeAuteursG) { Console.WriteLine($"{auteur.Prenom}"); } Console.WriteLine("\nAfficher l'auteur ayant écrit le plus de livres"); var auteurPlusPresent = ListeAuteurs.OrderBy(a => ListeLivres.OrderBy(l => l.Auteur == a).Count()).First(); Console.WriteLine($"{auteurPlusPresent.Nom} {auteurPlusPresent.Prenom}"); Console.WriteLine("\nAfficher le nombre moyen de pages par livre par auteur"); var listeAuteurs = ListeAuteurs.OrderBy(a => a.Nom); foreach (var auteur in listeAuteurs) { var livresParAuteur = ListeLivres.Where(l => l.Auteur.Equals(auteur)); if (livresParAuteur.Count() != 0) { double moyennePages = livresParAuteur.Average(l => l.NbPages); Console.WriteLine($"{auteur.Nom} {auteur.Prenom} {moyennePages}"); } } Console.WriteLine("\nAfficher le titre du livre avec le plus de pages"); var livrePlusLong = ListeLivres.OrderByDescending(l => l.NbPages).First(); Console.WriteLine($"{livrePlusLong.Titre} {livrePlusLong.Synopsis}"); Console.WriteLine("\nAfficher combien ont gagné les auteurs en moyenne (moyenne des factures)"); var listedesFactures = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant)); Console.WriteLine(listedesFactures.ToString()); Console.WriteLine("\nAfficher les auteurs et la liste de leurs livres"); foreach (var auteur in listeAuteurs) { Console.WriteLine($"{auteur.Nom} {auteur.Prenom} : "); var listeLivres = ListeLivres.Where(l => l.Auteur.Nom == auteur.Nom); foreach (var livre in listeLivres) { Console.WriteLine($" - {livre.Titre} {livre.Synopsis}"); } } Console.WriteLine("\nAfficher les titres de tous les livres triés par ordre alphabétique"); var listeLivresAlpha = ListeLivres.OrderBy(l => l.Titre); foreach (var livre in listeLivresAlpha) { Console.WriteLine($"{livre.Titre} {livre.Synopsis}"); } Console.WriteLine("\nAfficher la liste des livres dont le nombre de pages est supérieur à la moyenne"); var tailleMoyennedesLivres = ListeLivres.Average(l => l.NbPages); foreach (var auteur in listeAuteurs) { var moyennePage = ListeLivres.Where(l => l.Auteur.Nom == auteur.Nom); foreach (var livre in moyennePage) { if (livre.NbPages > tailleMoyennedesLivres) { Console.WriteLine($"{livre.Titre} {livre.Synopsis}"); } } } Console.WriteLine("\nAfficher l'auteur ayant écrit le moins de livres"); var auteurMoinsPresent = ListeAuteurs.OrderBy(a => ListeLivres.OrderBy(l => l.Auteur == a).Count()).Last(); Console.WriteLine($"{ auteurMoinsPresent.Nom } {auteurMoinsPresent.Prenom}"); Console.ReadKey(); }
static void Main(string[] args) { InitialiserDatas(); //Affichage de la liste des prénoms des auteurs donc le nom commence par "G" var prenomsAuteursParG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom); StringBuilder affichageAuteur = new StringBuilder(); affichageAuteur.Append("Affichage des prénoms des auteurs dont le nom commence par G :"); affichageAuteur.Append("\n"); foreach (var prenom in prenomsAuteursParG) { affichageAuteur.Append("- "); affichageAuteur.Append(prenom); affichageAuteur.Append("\n"); } Console.WriteLine(affichageAuteur.ToString()); //Afficher l'auteur ayant écrit le plus de livres var auteurAvecLePlusDeLivresEcrits = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(t => t.Count()).FirstOrDefault().Key; StringBuilder affichageAuteurAvecLePlusDeLivresEcrits = new StringBuilder(); affichageAuteurAvecLePlusDeLivresEcrits.Append("Affichage de l'auteur ayant écrit le plus de livres :"); affichageAuteurAvecLePlusDeLivresEcrits.Append("\n"); affichageAuteurAvecLePlusDeLivresEcrits.Append($"- {auteurAvecLePlusDeLivresEcrits.Nom} {auteurAvecLePlusDeLivresEcrits.Prenom}"); affichageAuteurAvecLePlusDeLivresEcrits.Append("\n"); Console.WriteLine(affichageAuteurAvecLePlusDeLivresEcrits.ToString()); //Afficher le nombre moyen de pages par livre par auteur var nbPagesMoyenParLivreParAuteur = ListeLivres.GroupBy(l => l.Auteur); StringBuilder affichageNbPagesMoyensParLivreParAuteur = new StringBuilder(); affichageNbPagesMoyensParLivreParAuteur.Append("Affichage du nombre moyen de pages par livre par auteur :"); affichageNbPagesMoyensParLivreParAuteur.Append("\n"); foreach (var item in nbPagesMoyenParLivreParAuteur) { affichageNbPagesMoyensParLivreParAuteur.Append($"- {item.Key.Prenom} {item.Key.Nom} nb moyen de pages={item.Average(l => l.NbPages)}"); affichageNbPagesMoyensParLivreParAuteur.Append("\n"); } Console.WriteLine(affichageNbPagesMoyensParLivreParAuteur.ToString()); //Afficher le titre du livre avec le plus de pages var titreLivreAvecLePlusDePages = ListeLivres.OrderByDescending(l => l.NbPages).First(); StringBuilder affichageTitreLivreAvecLePlusDePages = new StringBuilder(); affichageTitreLivreAvecLePlusDePages.Append("Affichage du titre du livre ayant le plus de pages :"); affichageTitreLivreAvecLePlusDePages.Append("\n"); affichageTitreLivreAvecLePlusDePages.Append($"- {titreLivreAvecLePlusDePages.Titre}"); affichageTitreLivreAvecLePlusDePages.Append("\n"); Console.WriteLine(affichageTitreLivreAvecLePlusDePages.ToString()); //Afficher combien ont gagné les auteurs en moyenne (moyenne des factures) var moyenneGainAuteurs = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant)); StringBuilder affichageMoyenneGainAuteurs = new StringBuilder(); affichageMoyenneGainAuteurs.Append("Affichage de la moyenne des gains des auteurs :"); affichageMoyenneGainAuteurs.Append("\n"); affichageMoyenneGainAuteurs.Append("- " + moyenneGainAuteurs); affichageMoyenneGainAuteurs.Append("\n"); Console.WriteLine(affichageMoyenneGainAuteurs.ToString()); //Afficher les auteurs et la liste de leurs livres var livresparAuteurs = ListeLivres.GroupBy(l => l.Auteur); StringBuilder affichageAuteursEtListeLivres = new StringBuilder(); affichageAuteursEtListeLivres.Append("Affichage des auteurs et la liste de leurs livres :"); affichageAuteursEtListeLivres.Append("\n"); foreach (var livres in livresparAuteurs) { affichageAuteursEtListeLivres.Append($"- Auteur : {livres.Key.Prenom} {livres.Key.Nom} "); affichageAuteursEtListeLivres.Append("\n"); foreach (var livre in livres) { affichageAuteursEtListeLivres.Append($" - {livre.Titre}"); affichageAuteursEtListeLivres.Append("\n"); } affichageAuteursEtListeLivres.Append("\n"); } affichageAuteursEtListeLivres.Append("\n"); Console.WriteLine(affichageAuteursEtListeLivres.ToString()); //Afficher les titres de tous les livres triés par ordre alphabétique var livresTriesAlphabetique = ListeLivres.OrderBy(t => t.Titre).ToList(); StringBuilder affichageLivreParOrdreAlphabétique = new StringBuilder(); affichageLivreParOrdreAlphabétique.Append("Affichage des titres de tous les livres triés par ordre alphabétique :"); affichageLivreParOrdreAlphabétique.Append("\n"); foreach (var livreTrie in livresTriesAlphabetique) { affichageLivreParOrdreAlphabétique.Append($"- {livreTrie.Titre}"); affichageLivreParOrdreAlphabétique.Append("\n"); } affichageLivreParOrdreAlphabétique.Append("\n"); Console.WriteLine(affichageLivreParOrdreAlphabétique.ToString()); //Afficher la liste des livres dont le nombre de pages est supérieur à la moyenne StringBuilder affichageListeLivre = new StringBuilder(); affichageListeLivre.Append("Affichage de la liste des livres dont le nombre de page est supérieur à la moyenne :"); affichageListeLivre.Append("\n"); var moyennePages = ListeLivres.Average(l => l.NbPages); var livresPagesSuperieuresMoyenne = ListeLivres.Where(l => l.NbPages > moyennePages); foreach (var livre in livresPagesSuperieuresMoyenne) { affichageListeLivre.Append($"- {livre.Titre}"); affichageListeLivre.Append("\n"); } affichageListeLivre.Append("\n"); Console.WriteLine(affichageListeLivre.ToString()); //Afficher l'auteur ayant écrit le moins de livres var auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault(); StringBuilder affichageAuteurAvecLeMoinsDeLivresEcrits = new StringBuilder(); affichageAuteurAvecLeMoinsDeLivresEcrits.Append("Affichage de l'auteur ayant écrit le moins de livres :"); affichageAuteurAvecLeMoinsDeLivresEcrits.Append("\n"); affichageAuteurAvecLeMoinsDeLivresEcrits.Append($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}"); Console.WriteLine(affichageAuteurAvecLeMoinsDeLivresEcrits.ToString()); 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(); 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(); }