ProgaOra/20250130/asd.txt
szabomarton 0fc2b5f641 asd
2025-01-30 10:20:25 +01:00

205 lines
5.5 KiB
Plaintext

using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace Konyvtari_Rendszer
{
public class Konyvtar
{
public List<Konyv> konyvek = new List<Konyv>();
public Konyvtar(List<Konyv> konyvek) {
this.konyvek = konyvek;
}
public Konyvtar()
{
}
public void KonyvFelvetel(Konyv konyv)
{
if (!konyvek.Contains(konyv))
{
konyvek.Add(konyv);
return;
}
for (int i = 0; i < konyvek.Count; i++)
{
if (konyvek[i].cim == konyv.cim)
{
konyvek[i].darabszam++;
}
}
return;
}
public void Kilistazas()
{
foreach (var item in konyvek)
{
Console.WriteLine($"Cím: {item.cim}, Szerző: {item.szerzo}, Kiadás éve: {item.kiadasEve}, Darab: {item.darabszam}");
}
}
private Konyv KeresesCim(string cim)
{
foreach (var item in konyvek) {
if (cim == item.cim)
{
return item;
}
}
return null;
}
public void KeresesCimAlapjan(string cim)
{
Konyv konyv = KeresesCim(cim);
if (konyv != null)
{
Console.WriteLine($"Cím: {konyv.cim}, Szerző: {konyv.szerzo}, Kiadás éve: {konyv.kiadasEve}, Darab: {konyv.darabszam}");
return;
}
Console.WriteLine("Nincs ilyen című könyv!");
}
private List<Konyv> KeresesSzerzo(string szerzo)
{
List<Konyv> talalatok = new List<Konyv>();
foreach (var item in konyvek) {
if (item.szerzo == szerzo)
{
talalatok.Add(item);
}
}
return talalatok;
}
public void KeresesSzerzoAlapjan(string szerzo)
{
List<Konyv> talalatok = KeresesSzerzo(szerzo);
if (talalatok.Count != 0)
{
foreach (var item in talalatok)
{
Console.WriteLine($"Cím: {item.cim}, Szerző: {item.szerzo}, Kiadás éve: {item.kiadasEve}, Darab: {item.darabszam}");
}
return;
}
Console.WriteLine("A keresett szerzőtől nem találtunk könyvet!");
}
public void KonyvModositas(Konyv modositando, Konyv modositott)
{
for (int i = 0; i < konyvek.Count; i++)
{
if (konyvek[i].cim == modositando.cim)
{
konyvek[i] = modositott;
return;
}
}
}
public void KonyvTorles(Konyv torlendo)
{
konyvek.Remove(torlendo);
}
}
public class Konyv {
public string cim;
public string szerzo;
public int kiadasEve;
public int darabszam = 1;
public Konyv(string cim, string szerzo, int kiadasEve) {
this.cim = cim;
this.szerzo = szerzo;
this.kiadasEve = kiadasEve;
}
public Konyv(string cim, string szerzo, int kiadasEve, int darabszam)
{
this.cim = cim;
this.szerzo = szerzo;
this.kiadasEve = kiadasEve;
this.darabszam = darabszam;
}
}
internal class Program
{
static void Main(string[] args)
{
string path = "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250130\\konyvek.txt";
Konyvtar konyvtar = new Konyvtar(FileReading(path));
Konyv HP = new Konyv("Harry Potter", "J.K.Rowling", 2000);
Konyv HP_2 = new Konyv("Harry Potter és a Tűz Serlege", "J.K.Rowling", 2005);
Konyv AH = new Konyv("Atomic Habits", "James Clear", 2015);
konyvtar.KonyvFelvetel(HP);
konyvtar.KonyvFelvetel(HP);
konyvtar.KonyvFelvetel(AH);
konyvtar.KonyvFelvetel(HP_2);
konyvtar.Kilistazas();
konyvtar.KeresesCimAlapjan("Atomic Habits");
konyvtar.KeresesCimAlapjan("Aranyember");
konyvtar.KeresesSzerzoAlapjan("J.K.Rowling");
Console.WriteLine();
konyvtar.KonyvModositas(HP, HP_2);
konyvtar.KeresesSzerzoAlapjan("J.K.Rowling");
Console.WriteLine();
konyvtar.KonyvTorles(HP_2);
konyvtar.KeresesSzerzoAlapjan("J.K.Rowling");
Console.ReadLine();
}
public static List<Konyv> FileReading(string path)
{
List<Konyv> konyvek = new List<Konyv>();
FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
StreamReader streamReader = new StreamReader(fileStream);
string line = streamReader.ReadLine();
while(line != null)
{
string[] adatok = line.Split(';');
Konyv konyv = new Konyv(adatok[0], adatok[1], Convert.ToInt32(adatok[2]), Convert.ToInt32(adatok[3]));
konyvek.Add(konyv);
line = streamReader.ReadLine();
}
streamReader.Close();
fileStream.Close();
return konyvek;
}
}
}