All current work

This commit is contained in:
2026-09-26 01:17:10 +03:00
commit 6f0139aae6
51 changed files with 9327 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
/target
+7
View File
@@ -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"
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "rust-training"
version = "0.1.0"
edition = "2024"
[dependencies]
+300
View File
@@ -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;
}
}