C# :: Aufgabe #304 :: Lösung #1
2 Lösungen

#304
Steckbrief-Informationen
Anfänger - C#
von DragStar
- 06.04.2020 um 08:37 Uhr
Baue ein passendes Array, welches du mit Steckbriefinfos füllst (z.B. Name, Alter, Hobbies usw).
Danach lass den User ein Hobby eingeben und gib dann den Namen der Personen ein, die dieses Hobby haben.
Danach lass den User ein Hobby eingeben und gib dann den Namen der Personen ein, die dieses Hobby haben.
#1

von JKooP (18090 Punkte)
- 16.04.2020 um 12:03 Uhr
NET Core 3.x
C#-Code

using System; using System.Collections.Generic; using System.Linq; #nullable enable namespace CS_Aufgabe_304_Steckbrief { public enum Hobbys { Schwimmen = 1, Radfahren, Joggen, Skifahren, Modellbahn, Lesen } public class Steckbrief { public Steckbrief(string nachname, string? vorname = null, int? alter = null, params Hobbys[]? hobby) { Nachname = nachname; Vorname = vorname; Alter = alter; Hobby = hobby; } public string Nachname { get; } public string? Vorname { get; } public int? Alter { get; } public Hobbys[]? Hobby { get; } } class Program { private static List<Steckbrief>? _lstSB; static void Main(string[] args) { Beispielsteckbriefe(); Console.WriteLine("Auswahlmöglichkeiten\n"); var i = 0; foreach (var h in Enum.GetNames(typeof(Hobbys))) Console.WriteLine($"({++i}) {h}"); Console.Write("Bitte Auswahl treffen: "); _ = int.TryParse(Console.ReadLine(), out var s); if (s < 1 || s > Enum.GetNames(typeof(Hobbys)).Count()) return; var lstHobby = _lstSB.Where(x => x.Hobby != null && x.Hobby.Any(y => (int)y == s)).Select(x => $"- {x.Nachname}").ToList(); Console.WriteLine($"\nHobby '{Enum.GetName(typeof(Hobbys), s)}' ({lstHobby.Count()}):"); lstHobby.ForEach(Console.WriteLine); } static void Beispielsteckbriefe() { _lstSB = new List<Steckbrief> { new Steckbrief("Meyer", "Hans", 45, null), new Steckbrief("Mueller", null, 76, Hobbys.Schwimmen, Hobbys.Joggen, Hobbys.Modellbahn), new Steckbrief("Schulze", "Heike", null, Hobbys.Schwimmen, Hobbys.Radfahren), new Steckbrief("Lehmann", null, 33, Hobbys.Schwimmen, Hobbys.Skifahren), new Steckbrief("Helm", "Franz", 63, Hobbys.Lesen) }; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1