Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

15/15 to quiz1 #4

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion exercises/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Exercise to Book Chapter mapping
# Exercise to Book Chapter mappingd

| Exercise | Book Chapter |
| ---------------------- | ------------------- |
Expand Down
9 changes: 5 additions & 4 deletions exercises/functions/functions1.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
// functions1.rs
//
// Execute `rustlings hint functions1` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint functions1` or use the `hint` watch subcommand for a hint.

// I AM NOT DONE


fn call_me(){
println!("Func1:hello world")
}
fn main() {
call_me();
}
8 changes: 3 additions & 5 deletions exercises/functions/functions2.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
// functions2.rs
//
// Execute `rustlings hint functions2` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint functions2` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
call_me(3);
}

fn call_me(num:) {
fn call_me(num:i32) {
for i in 0..num {
println!("Ring! Call number {}", i + 1);
}
Expand Down
8 changes: 3 additions & 5 deletions exercises/functions/functions3.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// functions3.rs
//
// Execute `rustlings hint functions3` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint functions3` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
call_me();
call_me(1);
}

fn call_me(num: u32) {
Expand Down
19 changes: 9 additions & 10 deletions exercises/functions/functions4.rs
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
// functions4.rs
//
// This store is having a sale where if the price is an even number, you get 10
// Rustbucks off, but if it's an odd number, it's 3 Rustbucks off. (Don't worry
// about the function bodies themselves, we're only interested in the signatures
// for now. If anything, this is a good way to peek ahead to future exercises!)
//
// Execute `rustlings hint functions4` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint functions4` or use the `hint` watch subcommand for a hint.

// This store is having a sale where if the price is an even number, you get
// 10 Rustbucks off, but if it's an odd number, it's 3 Rustbucks off.
// (Don't worry about the function bodies themselves, we're only interested
// in the signatures for now. If anything, this is a good way to peek ahead
// to future exercises!)


// I AM NOT DONE

fn main() {
let original_price = 51;
println!("Your sale price is {}", sale_price(original_price));
}

fn sale_price(price: i32) -> {
fn sale_price(price: i32) -> i32 {
if is_even(price) {
price - 10
} else {
Expand Down
8 changes: 3 additions & 5 deletions exercises/functions/functions5.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
// functions5.rs
//
// Execute `rustlings hint functions5` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint functions5` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
let answer = square(3);
println!("The square of 3 is {}", answer);
}

fn square(num: i32) -> i32 {
num * num;
num * num
}
7 changes: 5 additions & 2 deletions exercises/if/if1.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
// if1.rs
//
// Execute `rustlings hint if1` or use the `hint` watch subcommand for a hint.

// I AM NOT DONE

pub fn bigger(a: i32, b: i32) -> i32 {
// Complete this function to return the bigger number!
// Do not use:
// - another function call
// - additional variables
if a>b{
a
}else{
b
}
}

// Don't mind this for now :)
Expand Down
11 changes: 6 additions & 5 deletions exercises/if/if2.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
// if2.rs
//

// Step 1: Make me compile!
// Step 2: Get the bar_for_fuzz and default_to_baz tests passing!
//
// Execute `rustlings hint if2` or use the `hint` watch subcommand for a hint.

// I AM NOT DONE


pub fn foo_if_fizz(fizzish: &str) -> &str {
if fizzish == "fizz" {
"foo"
} else {
1
} else if fizzish == "fuzz" {
"bar"
}else{
"baz"
}
}

Expand Down
6 changes: 3 additions & 3 deletions exercises/if/if3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
//
// Execute `rustlings hint if3` or use the `hint` watch subcommand for a hint.

// I AM NOT DONE


pub fn animal_habitat(animal: &str) -> &'static str {
let identifier = if animal == "crab" {
1
} else if animal == "gopher" {
2.0
2
} else if animal == "snake" {
3
} else {
"Unknown"
4
};

// DO NOT CHANGE THIS STATEMENT BELOW
Expand Down
24 changes: 7 additions & 17 deletions exercises/intro/intro1.rs
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
// intro1.rs
//
// About this `I AM NOT DONE` thing:
// We sometimes encourage you to keep trying things on a given exercise, even
// after you already figured it out. If you got everything working and feel
// ready for the next exercise, remove the `I AM NOT DONE` comment below.
// Execute `rustlings hint intro1` or use the `hint` watch subcommand for a hint.
//
// If you're running this using `rustlings watch`: The exercise file will be
// reloaded when you change one of the lines below! Try adding a `println!`
// line, or try changing what it outputs in your terminal. Try removing a
// semicolon and see what happens!
//
// Execute `rustlings hint intro1` or use the `hint` watch subcommand for a
// hint.
// If you're running this using `rustlings watch`: The exercise file will be reloaded
// when you change one of the lines below! Try adding a `println!` line, or try changing
// what it outputs in your terminal. Try removing a semicolon and see what happens!



fn main() {
println!("Hello and");
println!("Hello adajo!");
println!(r#" welcome to... "#);
println!(r#" _ _ _ "#);
println!(r#" _ __ _ _ ___| |_| (_)_ __ __ _ ___ "#);
Expand All @@ -29,12 +26,5 @@ fn main() {
println!("solve the exercises. Good luck!");
println!();
println!("The source for this exercise is in `exercises/intro/intro1.rs`. Have a look!");
println!(
"Going forward, the source of the exercises will always be in the success/failure output."
);
println!();
println!(
"If you want to use rust-analyzer, Rust's LSP implementation, make sure your editor is set"
);
println!("up, and then run `rustlings lsp` before continuing.")
println!("Going forward, the source of the exercises will always be in the success/failure output.");
}
9 changes: 3 additions & 6 deletions exercises/intro/intro2.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
// intro2.rs
//
// Make the code print a greeting to the world.
//
// Execute `rustlings hint intro2` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint intro2` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
println!("Hello {}!");
println!("Hello {}!","dahsdioahsdoafb");
}
15 changes: 7 additions & 8 deletions exercises/quiz1.rs
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
// quiz1.rs
//
// This is a quiz for the following sections:
// - Variables
// - Functions
// - If
//

// Mary is buying apples. The price of an apple is calculated as follows:
// - An apple costs 2 rustbucks.
// - If Mary buys more than 40 apples, each apple only costs 1 rustbuck!
// Write a function that calculates the price of an order of apples given the
// quantity bought. No hints this time!
//
// No hints this time ;)
// Write a function that calculates the price of an order of apples given
// the quantity bought. No hints this time!


// I AM NOT DONE

// Put your function here!
// fn calculate_price_of_apples {
fn calculate_price_of_apples(num:u32)->u32 {
if num<=40 { num*2 } else { num }
}

// Don't modify this function!
#[test]
Expand Down
2 changes: 1 addition & 1 deletion exercises/variables/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

In Rust, variables are immutable by default.
When a variable is immutable, once a value is bound to a name, you can’t change that value.
You can make them mutable by adding `mut` in front of the variable name.
You can make them mutable by adding mut in front of the variable name.

## Further information

Expand Down
8 changes: 2 additions & 6 deletions exercises/variables/variables1.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
// variables1.rs
//
// Make me compile!
//
// Execute `rustlings hint variables1` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint variables1` or use the `hint` watch subcommand for a hint.

// I AM NOT DONE

fn main() {
x = 5;
let x = 5;
println!("x has the value {}", x);
}
8 changes: 3 additions & 5 deletions exercises/variables/variables2.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// variables2.rs
//
// Execute `rustlings hint variables2` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint variables2` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
let x;
let x:i32=42;
if x == 10 {
println!("x is ten!");
} else {
Expand Down
8 changes: 3 additions & 5 deletions exercises/variables/variables3.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
// variables3.rs
//
// Execute `rustlings hint variables3` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint variables3` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
let x: i32;
let x: i32=10;
println!("Number {}", x);
}
8 changes: 3 additions & 5 deletions exercises/variables/variables4.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// variables4.rs
//
// Execute `rustlings hint variables4` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint variables4` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
let x = 3;
let mut x = 3;
println!("Number {}", x);
x = 5; // don't change this line
println!("Number {}", x);
Expand Down
8 changes: 3 additions & 5 deletions exercises/variables/variables5.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
// variables5.rs
//
// Execute `rustlings hint variables5` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint variables5` or use the `hint` watch subcommand for a hint.


// I AM NOT DONE

fn main() {
let number = "T-H-R-E-E"; // don't change this line
println!("Spell a Number : {}", number);
number = 3; // don't rename this variable
let number = 3; // don't rename this variable
println!("Number plus two is : {}", number + 2);
}
8 changes: 3 additions & 5 deletions exercises/variables/variables6.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
// variables6.rs
//
// Execute `rustlings hint variables6` or use the `hint` watch subcommand for a
// hint.
// Execute `rustlings hint variables6` or use the `hint` watch subcommand for a hint.

// I AM NOT DONE

const NUMBER = 3;

const NUMBER:i32 = 3;
fn main() {
println!("Number {}", NUMBER);
}
Binary file added temp_13292_ThreadId1.exe
Binary file not shown.