Control Structures Exercise
Create a contract that adheres to the following specifications:
Contract
Create a single contract called ControlStructures. It should not inherit from any other contracts and does not need a constructor. It should have the following functions:
Smart Contract FizzBuzz
Create a function called fizzBuzz that accepts a uint called _number and returns a string memory. The function should return:
- "Fizz" if the
_numberis divisible by 3 - "Buzz" if the
_numberis divisible by 5 - "FizzBuzz" if the
_numberis divisible by 3 and 5 - "Splat" if none of the above conditions are true
Do Not Disturb
Create a function called doNotDisturb that accepts a uint called _time, and returns a string memory. It should adhere to the following properties:
- If
_timeis greater than or equal to 2400, trigger apanic - If
_timeis greater than 2200 or less than 800,revertwith a custom error ofAfterHours, and include the time provided - If
_timeis between1200and1259,revertwith a string message "At lunch!" - If
_timeis between 800 and 1199, return "Morning!" - If
_timeis between 1300 and 1799, return "Afternoon!" - If
_timeis between 1800 and 2200, return "Evening!"
Submit your Contract and Earn an NFT Badge! (BETA)
Hey, where'd my NFT go!?
Testnets are not permanent! Base Goerli will soon be sunset, in favor of Base Sepolia.
As these are separate networks with separate data, your NFTs will not transfer over.
Don't worry! We've captured the addresses of all NFT owners on Base Goerli and will include them when we release the mechanism to transfer these NFTs to mainnet later this year! You can also redeploy on Sepolia and resubmit if you'd like!