51 lines
1.4 KiB
Rust
51 lines
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)
|
||
|
}
|