51 lines
No EOL
1.4 KiB
Rust
51 lines
No EOL
1.4 KiB
Rust
/*
|
|
Written by: James Musselman
|
|
On: 3/14/2024
|
|
Updated: Never
|
|
Description:
|
|
This tool was writen as part of my 100DaysOfCode commitment for the 2024 year to help establish a
|
|
habit of programming daily and fuel my continious drive to learn.
|
|
|
|
The tool below should allow the user to run basic, intermediate, and advanced math computations.
|
|
The user will select the equation or type of math they want to be done, enter the data, and
|
|
then recive the result of the computation.
|
|
|
|
Future work could include showing how the answer was calculated, showing graphs, and exporting to
|
|
a text file.
|
|
|
|
*/
|
|
use std::io;
|
|
|
|
|
|
fn main() {
|
|
// TODO: Greet and explain tool
|
|
|
|
// Get user choice on what they want to use
|
|
loop {
|
|
let mut user_input = String::new();
|
|
|
|
println!("Please select a function below or use 'q' to quit:");
|
|
|
|
io::stdin().read_line(&mut user_input)
|
|
.expect("Failed to read line");
|
|
|
|
if user_input.trim().eq_ignore_ascii_case("q") {
|
|
break;
|
|
}
|
|
|
|
let num: Result<i32, _> = user_input.trim().parse();
|
|
|
|
// Match statement to run choice
|
|
match num {
|
|
Ok(num) => {
|
|
run_function(num);
|
|
}
|
|
Err(_) => println!("Invalid input. Please try again."),
|
|
}
|
|
}
|
|
}
|
|
|
|
fn run_function(num: i32) {
|
|
// run choice, then ask again or quit if the user selects that option
|
|
println!("{}",num)
|
|
} |