W nowym projekcie P02Zawodnicy stwórz klasę ZawodnicyManager.cs
W tej klasie stwórz metodę: WczytajZawodników(), która wczytuje zawodników ze ścieżki
przechowywanej jako pole w tej klasie. Metoda ta zwraca listę zawodników (List<Zawodnik>)
Stwórz w tej klasie konstruktor Public ZawodnicyManager(string sciezka) i uzupełnia on
pole sciezka w tej klasie. W metodzie WczytajZawodników wykorzystaj konstruktor z poprzedniego zadania.
Potrzebną klasę Zawodnik.cs skopiuj z poprzedniego projektu
II część
W klasie program.cs wczytaj zawodników korzystając z klasy ZawodnicyManager.cs
i wyświetl wszystkich zawodników (imię, nazwisko i rok urodzenia)
Rozwiązanie:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace P02Zawodnicy { class ZawodnicyManager { private string sciezka; public ZawodnicyManager(string sciezka) { this.sciezka = sciezka; } public List<Zawodnik> WczytajZawodników() { string[] wiersze = File.ReadAllLines(sciezka,Encoding.Default); List<Zawodnik> lista = new List<Zawodnik>(); for (int i = 1; i < wiersze.Length; i++) { Zawodnik z = new Zawodnik(wiersze[i]); lista.Add(z); } return lista; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace P02Zawodnicy { class Program { static void Main(string[] args) { Console.WriteLine("Proszę podaj ścieżkę do pliku"); string sciezka = Console.ReadLine(); ZawodnicyManager zm = new ZawodnicyManager(sciezka); List<Zawodnik> lista = zm.WczytajZawodników(); for (int i = 0; i < lista.Count; i++) { Console.WriteLine(lista[i].Imie + " " + lista[i].Nazwisko + " " + lista[i].PodajWiek()); } Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace P02Zawodnicy { class Zawodnik { public int IdZawodnika; public int Id_trenera; public string Imie; public string Nazwisko; public string Kraj; public DateTime DataUrodzenia; public double Wzrost; public double Waga; public Zawodnik() { } public Zawodnik(string wiersz) { string[] pola = wiersz.Split(';'); IdZawodnika = Convert.ToInt32(pola[0]); if (!string.IsNullOrWhiteSpace(pola[1])) Id_trenera = Convert.ToInt32(pola[1]); Imie = pola[2]; Nazwisko = pola[3]; Kraj = pola[4]; DataUrodzenia = Convert.ToDateTime(pola[5]); Wzrost = Convert.ToDouble(pola[6]); Waga = Convert.ToDouble(pola[7]); } public int PodajWiek() { int rokAktualny = DateTime.Now.Year; int rokUrodznia = DataUrodzenia.Year; return rokAktualny - rokUrodznia; } } }