diff --git a/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/Cargo.lock b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/Cargo.lock new file mode 100644 index 0000000..dd085e7 --- /dev/null +++ b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "basic_arithmetic" +version = "0.1.0" diff --git a/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/Cargo.toml b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/Cargo.toml new file mode 100644 index 0000000..5b96d3e --- /dev/null +++ b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "basic_arithmetic" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/assets/Basic Arithmetic in Rust.JPG b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/assets/Basic Arithmetic in Rust.JPG new file mode 100644 index 0000000..e14f750 Binary files /dev/null and b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/assets/Basic Arithmetic in Rust.JPG differ diff --git a/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/src/main.rs b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/src/main.rs new file mode 100644 index 0000000..f7e4c9e --- /dev/null +++ b/submissions/week-1/day-2/SalamaJatau-Basic-Arithmetic/basic_arithmetic/src/main.rs @@ -0,0 +1,22 @@ +fn main() { + println!("Addition: {}", addition(10,20)); + println!("Subtraction: {}", subtraction(20,10)); + println!("Multiplication: {}", multiplication(10,20)); + println!("Division: {}", division(20,2)); +} + +fn addition(first_number: i32, second_number: i32) -> i32{ + first_number + second_number +} + +fn subtraction(first_number: i32, second_number: i32) -> i32{ + first_number - second_number +} + +fn multiplication(first_number: i32, second_number: i32) -> i32{ + first_number * second_number +} + +fn division(first_number: i32, second_number: i32) -> i32{ + first_number / second_number +} diff --git a/submissions/week-2/day-3/user_input/Cargo.lock b/submissions/week-2/day-3/user_input/Cargo.lock new file mode 100644 index 0000000..dcb92e6 --- /dev/null +++ b/submissions/week-2/day-3/user_input/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "user_input" +version = "0.1.0" diff --git a/submissions/week-2/day-3/user_input/Cargo.toml b/submissions/week-2/day-3/user_input/Cargo.toml new file mode 100644 index 0000000..c824695 --- /dev/null +++ b/submissions/week-2/day-3/user_input/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "user_input" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/submissions/week-2/day-3/user_input/src/main.rs b/submissions/week-2/day-3/user_input/src/main.rs new file mode 100644 index 0000000..3fe8cf0 --- /dev/null +++ b/submissions/week-2/day-3/user_input/src/main.rs @@ -0,0 +1,64 @@ +use std::io; + +//list of allowed input +#[derive(Debug)] +enum PowerOptions { + Off, + Sleep, + Reboot, + Shutdown, + Hibernate, +} + +//data to print when the correct power option is inputted +fn power_output(power_option: PowerOptions) { + match power_option { + PowerOptions::Off => println!("Off"), + PowerOptions::Sleep => println!("Sleeping"), + PowerOptions::Reboot => println!("Rebooting"), + PowerOptions::Shutdown => println!("Shutting down"), + PowerOptions::Hibernate => println!("Hibernating"), + } +} + +//accepts user input and convert it to lowercase +fn user_input() -> String { + + println!("Please input power option."); + + let mut new_user_input = String::new(); + + io::stdin() + .read_line(&mut new_user_input) + .expect("Failed to read line"); + + new_user_input.trim().to_lowercase() + +} + + + +//loop through user input and display the correct power option +//when a wrong option is inputted, invalid input should be displayed +fn main() { + + loop { + + let lowercase_user_input = user_input(); + + let new_user_input = match lowercase_user_input.as_str() { + "off" => PowerOptions::Off, + "sleep" => PowerOptions::Sleep, + "reboot" => PowerOptions::Reboot, + "shutdown" => PowerOptions::Shutdown, + "hibernate" => PowerOptions::Hibernate, + _ => { + println!("Invalid input"); + continue; + } + }; + + power_output(new_user_input); + } + +}