"Ваша основная программа должна иметь только объявления и вызовы глобальных функций",
Я полагаю, ваш инструктор поощряет вас разделять код на отдельные подпрограммы, каждая из которых выполняет только одно. В этом стиле типичный main
может быть:
int main() {
MyDataStruct x;
ReadInput(x);
ProcessData(x);
WriteOutput(x);
}
Обратите внимание, что в main
нет циклов for
, нет выражений сложения-продажи-и-налогового учета, в принципе ничего не требует обработки. Все хорошее - либо в ваших глобальных функциях, либо в методах ваших структур данных.
Применяя это к вашей программе, ваш main может выглядеть так:
int globalExitFlag;
int main() {
Queue<car> q;
Car c;
while( !globalExitFlag ) {
int cmd;
cmd = PrintMenuAndAcceptOneAnswer(q, c);
DoOneCommand(q, c, cmd);
}
}
Затем вы можете поместить значения вашего cin
в PrintMenuAndAcceptOneAnswer
, а печать и манипулирование очередью - в DoOneCommand
. Конечно, вы должны написать PrintMenuAndAcceptOneAnswer
и DoOneCommand
самостоятельно. Я бы далее разбил эти подпрограммы - например, DoOneCommand
должен вызывать DoPrintAllCars
, DoExit
, DoParkOneCar
и т. Д.
Наконец, я поставил while
в этом main()
, что я считаю уместным. Обратите внимание на глобальную переменную. Я предполагаю, что когда вы обрабатываете команду «exit», вы устанавливаете эту переменную, чтобы указать, что обработка должна завершиться.
Удачи, и вернитесь, чтобы рассказать нам, как ваше задание работает для вас.