Three employees compete for the award. Use a chained if / else if / else to pick the most productive one and print their 15% bonus.
You start with:
name1 := "John Doe"
productivity1 := 83
salary1 := 135000
name2 := "Mary Jane"
productivity2 := 133
salary2 := 335000
name3 := "Bob Smith"
productivity3 := 97
salary3 := 210000
Build:
Mary Jane Bonus: $50250
Rules:
- The winner is whichever of the three employees has the highest productivity.
- If two or more 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.
Declare
var winnerName string; var winnerSalary int before the if, then use an if / else if / else chain to assign them, so both are still in scope for the prints. Employee 1 wins when its productivity is at least that of both others; if not, employee 2 wins when it is at least employee 3's; otherwise employee 3 wins.
Dividing two whole numbers (
int) drops the fraction, so winnerSalary * 15 / 100 is already rounded down: bonus := winnerSalary * 15 / 100
Join text and a number with
strconv.Itoa: fmt.Println("Bonus: $" + strconv.Itoa(bonus))
name1 := "John Doe"
productivity1 := 83
salary1 := 135000
name2 := "Mary Jane"
productivity2 := 133
salary2 := 335000
name3 := "Bob Smith"
productivity3 := 97
salary3 := 210000
var winnerName string
var winnerSalary int
if productivity1 >= productivity2 && productivity1 >= productivity3 {
winnerName = name1
winnerSalary = salary1
} else if productivity2 >= productivity3 {
winnerName = name2
winnerSalary = salary2
} else {
winnerName = name3
winnerSalary = salary3
}
bonus := winnerSalary * 15 / 100
fmt.Println(winnerName)
fmt.Println("Bonus: $" + strconv.Itoa(bonus))
Free plan: 30 tutor messages. Premium is unlimited.
Saved
Ctrl + Enter to check
