Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace KohariLevente_P99J7Y_M
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- //Zeneszam z = new Zeneszam("Karma", "TaylorSwift", 204);
- //Console.WriteLine($"{z.Cim} {z.Szerzo} {z.Hossz}\n{z.IdoTimeSpan()}");
- Album a = new Album("Taylor Swift", "Midnights", "taylor_swift-midnights.txt");
- //Console.WriteLine(a.LegrovidebbFelvetel());
- //Console.WriteLine(a.AdottHosszFelett(250));
- Console.WriteLine(a.AlbumStatisztika());
- }
- }
- }
- -----------------------------------------------------------
- namespace KohariLevente_P99J7Y_M
- {
- internal class Zeneszam
- {
- string cim, szerzo;
- int hossz;
- public string Cim { get { return cim; } }
- public string Szerzo { get { return szerzo; } }
- public int Hossz
- {
- get { return hossz; }
- set { if (value >= 0) hossz = value; }
- }
- public Zeneszam(string cim, string szerzo, int hossz)
- {
- this.cim = cim;
- this.szerzo = szerzo;
- this.hossz = hossz;
- }
- public TimeSpan IdoTimeSpan()
- {
- return new TimeSpan(0, 0, hossz);
- }
- }
- }
- -----------------------------------------------------------
- namespace KohariLevente_P99J7Y_M
- {
- enum Adathordozo
- {
- Kazetta, CD, Bakelit, Stream
- }
- internal class Album
- {
- string eloado, cim;
- Adathordozo adathordozo;
- List<Zeneszam> zeneszamok = new List<Zeneszam>();
- public int AlbumDB { get => zeneszamok.Count; }
- private Zeneszam ZeneszamFeldolgozas(string s)
- {
- string[] sor = s.Split(';');
- string cim = sor[0];
- string szerzo = sor[1];
- int hossz = int.Parse(sor[2]);
- return new Zeneszam(cim, szerzo, hossz);
- }
- private void FelveteltHozzaad(Zeneszam z)
- {
- zeneszamok.Add(z);
- }
- public Album(string eloado, string cim, string fajl)
- {
- this.eloado = eloado;
- this.cim = cim;
- Console.WriteLine("Milyen legyen az adathordozó típusa? (Kazetta,CD,Bakelit,Stream)");
- string be = Console.ReadLine();
- adathordozo = (Adathordozo)Enum.Parse(typeof(Adathordozo), be);
- Console.Clear();
- string[] sorok = File.ReadAllLines(fajl);
- foreach (var e in sorok)
- {
- FelveteltHozzaad(ZeneszamFeldolgozas(e));
- }
- //StreamReader sr = new StreamReader(fajl);
- //while (!sr.EndOfStream)
- //{
- // zeneszamok.Add(ZeneszamFeldolgozas(sr.ReadLine()));
- //}
- //sr.Close();
- }
- private string LegrovidebbFelvetel()
- {
- Zeneszam minHossz = zeneszamok[0];
- int minindex = 0;
- for (int i = 0; i < zeneszamok.Count; i++)
- {
- if (zeneszamok[i].Hossz < minHossz.Hossz)
- {
- minHossz = zeneszamok[i];
- minindex = i;
- }
- }
- return zeneszamok[minindex].Cim;
- }
- public int AdottHosszFelett(int adottHossz)
- {
- int db = 0;
- for (int i = 0; i < zeneszamok.Count; i++)
- {
- if (zeneszamok[i].Hossz > adottHossz)
- {
- db++;
- }
- }
- return db;
- }
- public string[] SzerzoKivalogat(string adottSzerzo)
- {
- List<string> temp = new List<string>();
- for (int i = 0; i < zeneszamok.Count; i++)
- {
- if (zeneszamok[i].Szerzo.Contains(adottSzerzo))
- {
- temp.Add(zeneszamok[i].Cim);
- }
- }
- string[] szerzoDalok = new string[temp.Count];
- for (int i = 0; i < zeneszamok.Count; i++)
- {
- szerzoDalok[i] = temp[i];
- }
- return szerzoDalok;
- }
- public string AlbumStatisztika()
- {
- string kiiratas = $"{eloado} - {cim} ({adathordozo})\n\nDalok száma: {AlbumDB}\nA legrövidebb dal címe: {LegrovidebbFelvetel()}\nA dalok átlagos hossza: ";
- int avg = 0;
- for (int i = 0; i < zeneszamok.Count; i++)
- {
- avg += zeneszamok[i].Hossz;
- }
- avg = avg / AlbumDB;
- TimeSpan atlag = TimeSpan.FromSeconds(avg);
- kiiratas += $"{atlag.Minutes}:{atlag.Seconds}\n\n";
- for (int i = 0; i < zeneszamok.Count; i++)
- {
- string[] szerzoDB = zeneszamok[i].Szerzo.Split(',');
- kiiratas += $"{i+1}. {zeneszamok[i].Cim} ({szerzoDB.Length} szerző)\n";
- }
- return kiiratas;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement