My observations would be, if you're using CPP why use structs why not use an object? Then have methods for entry/removal of the booking slots, and track these as items are added/removed...?
eg psuedocode:
reserveSlot (weekNumber, slotNumber) {
...
updateUsage (weekNumber, slotNumber);
}
removeSlot (weekNumber, slotNumber) {
...
decreaseUsage(weekNumber, slotNumber);
}
You could store the results in an array, eg week1Array[slotNumber]++; or even better a 2D array or database and it will scale then, it you decide to track an extra month etc.
...or am i missing the point completely lol. Sorry its rough, im more Java than cpp, but it does seem to me to make more sense to use an object than a struct.