A collection of Rust programming exercises and examples to learn and practice the Rust programming language.
This repository contains various Rust programming exercises covering fundamental concepts including:
- Variables and mutability
- Data types (tuples, arrays)
- Functions
- Control flow
- Input/output operations
- Algorithm implementations
rust-practice/
├── Cargo.toml # Project configuration
├── Cargo.lock # Dependency lock file
├── src/
│ └── main.rs # Main source file with exercises
└── README.md # This file
The main program (src/main.rs) includes several programming exercises:
- Variable declaration and mutability
- Constants
- Type annotations
- Tuples: Creation, destructuring, and access
- Arrays: Creation, indexing, and length operations
- Function definitions and return values
- Parameter passing
- Function calls
- Temperature Conversion: Fahrenheit to Celsius converter
- Fibonacci Sequence: Generates Fibonacci numbers based on user input
- 12 Days of Christmas: Prints the complete lyrics using loops and arrays
- Input handling using
std::io - Error handling for user input parsing
- Interactive Fibonacci sequence calculator
- Rust installed on your system (Install Rust)
-
Clone or navigate to this repository
-
Run the program:
cargo run
-
Follow the prompts to interact with the Fibonacci calculator
cargo buildcargo testfn convert_farenheight_to_celcius(fahrenheight_temp: f64) -> f64 {
let conversion_farenheight_to_celcius = (fahrenheight_temp - 32.0) * 5.0 / 9.0;
conversion_farenheight_to_celcius
}fn generate_fibonacci_sequence(sequence: u32) -> u64 {
let mut current = 0;
let mut next = 1;
let mut result = 0;
let mut number = sequence - 1;
while number != 0 {
number -= 1;
result = current + next;
current = next;
next = result;
};
result
}This project demonstrates:
- Rust syntax and basic language features
- Memory safety concepts
- Error handling patterns
- Input/output operations
- Algorithm implementation
- Code organization and structure
Potential areas for expansion:
- Add more data structure examples (structs, enums)
- Implement additional algorithms
- Add unit tests
- Include error handling improvements
- Add command-line argument parsing
- Implement file I/O operations
This is a personal learning repository, but suggestions and improvements are welcome!
This project is for educational purposes and personal learning.