vypracovavanie zadania

This commit is contained in:
Priec
2026-01-31 20:30:41 +01:00
commit eddebc04ae
9 changed files with 291 additions and 0 deletions

4
src/lib.rs Normal file
View File

@@ -0,0 +1,4 @@
// src/lib.rs
pub mod logic;
pub use logic::*;

58
src/logic.rs Normal file
View File

@@ -0,0 +1,58 @@
// src/logic.rs
use serde::{Deserialize, Serialize};
use std::fmt;
#[derive(Default, Serialize, Deserialize, PartialEq)]
enum StavKnihy {
#[default] Nova = 0,
Pozicana = 1,
Poskodena = 2,
Vyradena = 3,
}
impl fmt::Display for StavKnihy {
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")
}
}
}
#[derive(Default, Serialize, Deserialize)]
struct Kniha {
authors: Vec<String>,
title: String,
publisher: String,
genre: String,
page_count: usize,
isbn: String,
year: usize,
pozicane: bool,
stav_knihy: StavKnihy,
}
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,
self.isbn,
self.year,
self.pozicane,
self.stav_knihy,
)
}
}
#[derive(Default, Serialize, Deserialize)]
struct Kniznica {
}

3
src/main.rs Normal file
View File

@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}