vypracovavanie zadania
This commit is contained in:
4
src/lib.rs
Normal file
4
src/lib.rs
Normal file
@@ -0,0 +1,4 @@
|
||||
// src/lib.rs
|
||||
|
||||
pub mod logic;
|
||||
pub use logic::*;
|
||||
58
src/logic.rs
Normal file
58
src/logic.rs
Normal 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
3
src/main.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
||||
Reference in New Issue
Block a user