diff --git a/JR-priprava-na-skusku6/.gitignore b/JR-priprava-na-skusku6/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/JR-priprava-na-skusku6/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/JR-priprava-na-skusku6/Cargo.lock b/JR-priprava-na-skusku6/Cargo.lock new file mode 100644 index 0000000..b60111a --- /dev/null +++ b/JR-priprava-na-skusku6/Cargo.lock @@ -0,0 +1,75 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "JR-priprava-na-skusku6" +version = "0.1.0" +dependencies = [ + "serde", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.115" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e614ed320ac28113fa64972c4262d5dbc89deacdfd00c34a3e4cea073243c12" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537dd038a89878be9b64dd4bd1b260315c1bb94f4d784956b81e27a088d9a09e" diff --git a/JR-priprava-na-skusku6/Cargo.toml b/JR-priprava-na-skusku6/Cargo.toml new file mode 100644 index 0000000..df68c66 --- /dev/null +++ b/JR-priprava-na-skusku6/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "JR-priprava-na-skusku6" +version = "0.1.0" +edition = "2024" + +[dependencies] +serde = { version = "1.0.228", features = ["derive"] } diff --git a/JR-priprava-na-skusku6/src/lib.rs b/JR-priprava-na-skusku6/src/lib.rs new file mode 100644 index 0000000..04f14f3 --- /dev/null +++ b/JR-priprava-na-skusku6/src/lib.rs @@ -0,0 +1,71 @@ +use serde::Deserialize; +use serde::Serialize; +use std::fmt; + +#[derive(Default, Serialize, Deserialize, PartialEq, Clone)] +pub enum Zaner { + Akcia, + Komedia, + Horor, + #[default] + Drama, + Scifi, + Dokumentarny +} + +impl fmt::Display for Zaner { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Zaner::Akcia => write!(f, "Akcia"), + Zaner::Komedia => write!(f, "Komedia"), + Zaner::Horor => write!(f, "Horor"), + Zaner::Drama => write!(f, "Drama"), + Zaner::Scifi => write!(f, "Scifi"), + Zaner::Dokumentarny => write!(f, "Dokumentarny"), + } + } +} + +#[derive(Default, Serialize, Deserialize, Clone)] +pub struct Film { + nazov: String, + reziser: String, + rok: u16, + zaner: Zaner, + hodnotenie: f32 +} + +impl fmt::Display for Film { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "({}, {}, {}, {}, {})", + self.nazov, + self.reziser, + self.rok, + self.zaner, + self.hodnotenie + ) + } +} + +#[derive(Default, Serialize, Deserialize)] +pub struct Filmoteka { + filmy: Vec, +} + + +#[derive(Serialize, Deserialize, Clone, PartialEq)] +pub enum Stav { + Aktivny, + Pozastaveny { dovod: String }, + Ukonceny { datum: String, hodnotenie: u8 }, +} + +impl fmt::Display for Stav { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Stav::Aktivny => write!(f, "Aktivny"), + Stav::Pozastaveny { dovod } => write!(f, "Pozastaveny: {}", dovod), + Stav::Ukonceny { datum, hodnotenie } => write!(f, "Ukončený dňa {} s hodnotením {}", datum, hodnotenie), + } + } +} diff --git a/JR-priprava-na-skusku6/src/main.rs b/JR-priprava-na-skusku6/src/main.rs new file mode 100644 index 0000000..85aad77 --- /dev/null +++ b/JR-priprava-na-skusku6/src/main.rs @@ -0,0 +1,5 @@ +fn main() { + println!("Hello, world!"); +} + +