Start learning free

LESSON 162 OF 414 · LOOPING OVER ARRAY INDICES

Employee of the Year V4 - Project in Rust

Practice

A whole team is competing. Use a for loop over the vectors to find the most productive employee, then print their 15% bonus.

You start with:

    let names = vec!["John Doe", "Mary Jane", "Bob Smith", "Alice Chen", "Carlos Diaz"];
    let productivities = vec![83, 133, 97, 150, 120];
    let salaries = vec![135000, 335000, 210000, 250000, 180000];

Build:

Alice Chen
Bonus: $37500

Rules:

  • Index i in all three vectors refers to the same employee.
  • The winner is whichever employee has the highest productivity. If two employees share the highest productivity, the one listed first wins.
  • The winner's bonus is 15% of their salary, rounded down to a whole number.
  • Print the winner's name on the first line, then "Bonus: $<amount>" on the second.

Start with let mut bestIndex = 0 and loop over the other indices with for i in 1..names.len(). Inside the loop, update the best index only when productivities[i] > productivities[bestIndex]: a strict comparison keeps the first employee on a tie.

Dividing two whole numbers (i32) drops the fraction, so salaries[bestIndex] * 15 / 100 is already rounded down: let bonus = salaries[bestIndex] * 15 / 100;

{} in the format string is replaced by the value: println!("Bonus: ${}", bonus);

    let names = vec!["John Doe", "Mary Jane", "Bob Smith", "Alice Chen", "Carlos Diaz"];
    let productivities = vec![83, 133, 97, 150, 120];
    let salaries = vec![135000, 335000, 210000, 250000, 180000];

    let mut bestIndex = 0;
    for i in 1..names.len() {
        if productivities[i] > productivities[bestIndex] {
            bestIndex = i;
        }
    }
    let bonus = salaries[bestIndex] * 15 / 100;
    println!("{}", names[bestIndex]);
    println!("Bonus: ${}", bonus);

STEP 1 OF 6
    Ctrl + Enter to check

    Employee Of The Year V4 in Rust

    Keep going with RustAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free