Coding Challenge: Modeling Complex Objects and Relationships (2)
Practice everything learned so far by building an application to handle a flower business.
Task 6: Coding challenge
Now we have all the pieces needed to open a TFlowerShop
, which we’ll add to the flower shops list using the function from Task 4. We’ll initialize the two flowers using the function from Task 5.
Write a function called openFlowerShop
, which will allocate, initialize, and return a pointer to a TFlowerShop
structure.
The function header is:
TFlowerShop* openFlowerShop(TFlowerBusiness* flowerBusiness, int continentId, char* name, char* address, int openingYear)
flowerBusiness
is the current business.continentId
is the ID of the continent where we want to open the business.name
,address
, andopeningYear
are used to initialize some of the members inside theTFLowerShop
.- The function must return
NULL
on failure. - It must also make sure to allocate and initialize all the members correctly.
- After we allocate the flower shop, we must add it to the flower shops list of that continent. You may want to use the function from Task 4, but check its return value and guard against
realloc
fails. - What happens if this shop is the first shop in the continent? In other words, this is the first time our business opens a shop in the new continent. You may want to use the function
allocContinent
from Task 3.
This task is the most challenging task in the whole project. Make sure to pay special attention to it.
Get hands-on with 1400+ tech skills courses.