Программа представлена на скрине.
Далее под константой будет пониматься макроопределение (символическая константа)
Были созданы константы для обозначения флагов ингредиентов. Им даны осмысленные названия. Также была создана константа для формирования пустого заказа.
int ingredientsCount(Pizza&); - возвращает количество ингредиентов.
void addCheese(Pizza&); - добавляет в заказ сыр
void removeOnion(Pizza&); - убирает из заказа лук
void togglePineapple(Pizza&); - переключает ананасы
void addOnionIfMushroomsExist(Pizza&); - добавляет лук если есть грибы
Объяснение:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <math.h>
using namespace std;
struct Train { // указатель на узел, динамическую структуру Train
int number; //ввод поля номер для поезда
char path[10];// ввод поля пункт назначения поезда
int hour;// ввод поля время отправления поезда (часы)
int min; //ввод поля время отправления поезда (минуты стандартных имён
int main() {
const int N = 5;
setlocale(LC_ALL, "Russian");// подключение русского языка
Train trains[5];// указание количества поездов в структуре
for (int i = 0; i < N; i++) { // начало цикла для введения данных о 5 поездах
cout << "Введите пункт назначения поезда " << i + 1 << endl; // Вывод на экран сообщения о необходимости ввести имя
cin >> trains[ i ].path ; //ввод имени пользователем
cout << "Введите номер для поезда " << i + 1 << endl;
cin >> trains[ i ].number;
cout << "Введите время отправления для поезда (часы) " << i + 1 << endl;
cin >> trains[ i ].hour ;
cout << "Введите время отправления для поезда (минуты) " << i + 1 << endl;
cin >> trains[ i ].min ;
}
for(int i = 0; i < N; i++)
{
for(int j = i + 1; j < N; j++)
{
if(strcmp(trains[i].path, trains[j].path)>0)
{
Train tmp = trains[i];
trains[i] = trains[j];
trains[j] = tmp;
}
}
}
for (int i = 0; i < N; ++i)
{
cout << " Пункт назначения: " << trains[ i ].path << " номер: " << trains[ i ].number << " Время отправления: " << trains[ i ].hour << ":" << trains[ i ].min << endl << endl;
}
int time_h;
int time_min;
int k = 0;
cout << "Введите ваше время (часы затем минуты)" << endl;
cin >> time_h >> time_min;
cout << " Ваше время:" << time_h <<":" << time_min << endl << endl;
for(int i = 0; i < N; i++)
{
if((time_h < trains[i].hour) || (time_h == trains[i].hour && time_min < trains[i].min))
{
cout << " следующие поезда отправятся после вашего времени: " << trains[i].number <<" с временем "<< trains[i].hour << ":"<< trains[i].min << endl;
k++;
}
}
if(k == 0)
cout << " Нет подходящих поездов" << endl;
_getch();
return 0;
}