All current work
This commit is contained in:
@@ -0,0 +1 @@
|
||||
/target
|
||||
Generated
+7
@@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "rust-training"
|
||||
version = "0.1.0"
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "rust-training"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
@@ -0,0 +1,300 @@
|
||||
use std::io::{self, Write};
|
||||
|
||||
fn main() {
|
||||
loop {
|
||||
print!("Choose task number: ");
|
||||
io::stdout().flush().unwrap();
|
||||
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let task: i32 = match task.trim().parse() {
|
||||
Ok(number) => number,
|
||||
Err(_) => {
|
||||
println!("Please enter a number!");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
if task <= 0 {
|
||||
println!("Please enter positive number!");
|
||||
continue;
|
||||
};
|
||||
println!("You chose task number: {task}");
|
||||
match task {
|
||||
1 => task1(),
|
||||
2 => task2(),
|
||||
3 => task3(),
|
||||
4 => task4(),
|
||||
5 => task5(),
|
||||
6 => task6(),
|
||||
7 => task7(),
|
||||
8 => task8(),
|
||||
9 => task9(),
|
||||
10 => task10(),
|
||||
_ => println!("Unknown task"),
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fn task1(){
|
||||
println!("Starting Task 1");
|
||||
|
||||
loop {
|
||||
print!("Enter a number: ");
|
||||
io::stdout().flush().unwrap();
|
||||
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let task: i32 = match task.trim().parse() {
|
||||
Ok(number) => number,
|
||||
Err(_) => {
|
||||
println!("Please enter a number!");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
if task <= 0 {
|
||||
println!("It's negative");
|
||||
break;
|
||||
};
|
||||
if task == 0 {
|
||||
println!("It's negative");
|
||||
break;
|
||||
};
|
||||
println!("It's positive");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fn task2(){
|
||||
println!("Starting Task 2") ;
|
||||
print!("Enter a String: ");
|
||||
io::stdout().flush().unwrap();
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let symbols: i32 = task.
|
||||
trim_end()
|
||||
.chars()
|
||||
.count()
|
||||
.try_into()
|
||||
.unwrap();
|
||||
|
||||
println!("It has {} symbols", symbols);
|
||||
}
|
||||
|
||||
|
||||
fn task3(){
|
||||
println!("Starting Task 3");
|
||||
print!("Enter a String: ");
|
||||
io::stdout().flush().unwrap();
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let last_symbol = task.trim_end().chars().last().unwrap();
|
||||
|
||||
println!("Last symbol is {}", last_symbol);
|
||||
}
|
||||
|
||||
fn task4(){
|
||||
println!("Starting Task 4");
|
||||
print!("Enter first String: ");
|
||||
io::stdout().flush().unwrap();
|
||||
let mut task1 = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task1)
|
||||
.unwrap();
|
||||
|
||||
let first_symbol_1 = task1.trim_end().chars().next().unwrap();
|
||||
|
||||
//println!("first symbol of first string is {}", first_symbol_1);
|
||||
|
||||
print!("Enter second String: ");
|
||||
io::stdout().flush().unwrap();
|
||||
let mut task2 = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task2)
|
||||
.unwrap();
|
||||
|
||||
let first_symbol_2 = task2.trim_end().chars().next().unwrap();
|
||||
|
||||
if first_symbol_1 == first_symbol_2 {
|
||||
println!("First symbols are equal")
|
||||
} else {
|
||||
println!("First symbols are not equal")
|
||||
}
|
||||
}
|
||||
|
||||
fn task5(){
|
||||
println!("This task is boring, to transform string into int, so I passed it")
|
||||
}
|
||||
|
||||
fn task6(){
|
||||
println!("Starting Task 6");
|
||||
|
||||
loop {
|
||||
print!("Enter a number: ");
|
||||
io::stdout().flush().unwrap();
|
||||
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let task: i32 = match task.trim().parse() {
|
||||
Ok(number) => number,
|
||||
Err(_) => {
|
||||
println!("Please enter a number!");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
if (task > 10) || (task<1) {
|
||||
println!("It's not in range");
|
||||
break;
|
||||
};
|
||||
println!("It's in range");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fn task7(){
|
||||
println!("Starting Task 7");
|
||||
|
||||
loop {
|
||||
print!("Enter a number: ");
|
||||
io::stdout().flush().unwrap();
|
||||
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let mut task: i32 = match task.trim().parse() {
|
||||
Ok(number) => number,
|
||||
Err(_) => {
|
||||
println!("Please enter a number!");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
task = task.abs()%10;
|
||||
println!("Last digit is {task}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fn task8(){
|
||||
println!("Starting Task 8");
|
||||
|
||||
loop {
|
||||
print!("Enter a number: ");
|
||||
io::stdout().flush().unwrap();
|
||||
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let mut task: i32 = match task.trim().parse() {
|
||||
Ok(number) => number,
|
||||
Err(_) => {
|
||||
println!("Please enter a number!");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
task = task.abs();
|
||||
while task>=10 {
|
||||
task = task/10;
|
||||
}
|
||||
println!("First digit is {task}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fn task9(){
|
||||
println!("Starting Task 9");
|
||||
|
||||
loop {
|
||||
print!("Enter a number: ");
|
||||
io::stdout().flush().unwrap();
|
||||
|
||||
let mut task = String::new();
|
||||
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let mut task: i32 = match task.trim().parse() {
|
||||
Ok(number) => number,
|
||||
Err(_) => {
|
||||
println!("Please enter a number!");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
|
||||
task = task.abs();
|
||||
let last_digit: i32 = task%10;
|
||||
//println!("Last digit is {last_digit}");
|
||||
|
||||
|
||||
while task>=10 {
|
||||
task = task/10;
|
||||
}
|
||||
let first_digit: i32= task;
|
||||
//println!("First digit is {first_digit}");
|
||||
|
||||
println!("Sum of fist and last digits is {}", last_digit+first_digit);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fn task10(){
|
||||
println!("Starting Task 10");
|
||||
|
||||
loop {
|
||||
print!("Enter a number: ");
|
||||
io::stdout().flush().unwrap();
|
||||
|
||||
let mut task = String::new();
|
||||
let mut digits = 1;
|
||||
io::stdin()
|
||||
.read_line(&mut task)
|
||||
.unwrap();
|
||||
|
||||
let mut task: i32 = match task.trim().parse() {
|
||||
Ok(number) => number,
|
||||
Err(_) => {
|
||||
println!("Please enter a number!");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
|
||||
while task>=10 {
|
||||
task = task/10;
|
||||
digits+=1;
|
||||
}
|
||||
//println!("First digit is {first_digit}");
|
||||
|
||||
println!("Number of digits equals {}", digits);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user