pripravene na implementaciu logiky

This commit is contained in:
Priec
2026-01-31 22:58:52 +01:00
parent eddebc04ae
commit 675f953866

View File

@@ -4,48 +4,56 @@ use serde::{Deserialize, Serialize};
use std::fmt;
#[derive(Default, Serialize, Deserialize, PartialEq)]
enum StavKnihy {
enum Stav {
#[default] Nova = 0,
Pozicana = 1,
Pouzivana = 1,
Poskodena = 2,
Vyradena = 3,
}
impl fmt::Display for StavKnihy {
impl fmt::Display for Stav {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
StavKnihy::Nova => write!(f, "Nova"),
StavKnihy::Pozicana => write!(f, "Pozicana"),
StavKnihy::Poskodena => write!(f, "Poskodena"),
StavKnihy::Vyradena => write!(f, "Vyradena")
Stav::Nova => write!(f, "Nova"),
Stav::Pouzivana => write!(f, "Pouzivana"),
Stav::Poskodena => write!(f, "Poskodena"),
Stav::Vyradena => write!(f, "Vyradena")
}
}
}
#[derive(Default, Serialize, Deserialize)]
struct Kniha {
authors: Vec<String>,
title: String,
publisher: String,
genre: String,
page_count: usize,
autori: Vec<String>,
nazov: String,
vydavatelstvo: String,
zaner: String,
pocet_stran: usize,
isbn: String,
year: usize,
pozicane: bool,
stav_knihy: StavKnihy,
rok_vydania: usize,
je_pozicana: bool,
stav_knihy: Stav,
}
impl fmt::Display for Kniha {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "({}, {}, {}, {}, {}, {}, {}, {}, {}",
self.authors.join(", "),
self.title,
self.publisher,
self.genre,
self.page_count,
write!(f, "(Autori: {},
Nazov: {},
Vydavatelstvo: {},
Zaner: {},
Pocet stran: {},
ISBN: {},
Rok vydania: {},
Je pozicana {},
Stav knihy: {})",
self.autori.join(", "),
self.nazov,
self.vydavatelstvo,
self.zaner,
self.pocet_stran,
self.isbn,
self.year,
self.pozicane,
self.rok_vydania,
self.je_pozicana,
self.stav_knihy,
)
}
@@ -54,5 +62,11 @@ impl fmt::Display for Kniha {
#[derive(Default, Serialize, Deserialize)]
struct Kniznica {
knihy: Vec<Kniha>
}
impl Kniznica {
// fn pridaj_knihu
// fn odstran_knihu
// fn daj_knihu_podla_isbn
}