Hello i want to solve this in c++ datastructure but without #include <queue> as external library writing them as functions


You are required to design and implement a procedures manager system, so you have to make a schedule with the needed days to complete the procedure, check the following details to help you in completing the task: - Each procedure has an id, name and number of steps to be fully completed. - The procedures are in a list with different numbers of steps. - There are 5 working days in a week, and the maximum number of procedures per day is 3 , so if they need more steps or there are more than 3 procedures in the list, they should be moved to the next day. - Also, if the procedures isnot finished in a week, they should be moved to the next week. Notes: - You have to separate the files into header, implementation and main. - You have to use Queue data structures in your design. - Make a menu driven to test your program. Hints: - If you have the following list of procedures (assuming that there is a user-defined type called "Procedure" has an id(int), name(string) and steps(int)) - Use a circular queue for a working week( 5 days) each day has three indexes, so the MAX_SIZE \( =15 \), so the procedures should be distributed as follows:
- You can see that not all procedures are completed, so you have to serve(dequeue) and complete the distribution for the remaining procedures in the same queue but for a different week as follows: talank 7 . - The final result should be a schedule including the Procedure1 procedures with their days and date to be Sunday \( (1 / 1 / 2023) \) completed, something like this: Tuesday \( (3 / 1 / 2023) \) Procedure 2 Sunday (1/1/2023) Wednesday \( (4 / 1 / 2023) \) Thuresday \( (5 / 1 / 2023) \) Procedure3 Sunday \( (1 / 1 / 2023) \) Procedure4 Monday (2/1/2023) Wednesday \( (4 / 1 / 2023) \) Sunday \( (8 / 1 / 2023) \) Monday \( (9 / 1 / 2023) \) Monday (9/1/2023) Procedure5 Monday (2/1/2023) Wednesday \( (4 / 1 / 2023) \) Sunday \( (8 / 1 / 2023) \) Monday (9/1/2023) Procedure6 Monday (2/1/2023) Thuresday \( (5 / 1 / 2 \theta 23) \)