Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2019, 19:20   #1
ChrisGvr
Новичок
Джуниор
 
Регистрация: 01.04.2019
Сообщений: 1
По умолчанию многоуровневое меню на С++

Добрый день! Подскажите как сделать многоуровневое меню на С++по типу :
Что бы найти заявку ,нажмите f:
Что бы найти заявку по номеру рейса, нажмите 1;
Что бы найти заявку по дате вылета , нажмите 2;
Что бы отсортировать базу, нажмите g:
Что бы отсортировать по пункту назначения, нажмите 1;
Что бы отсортировать по дате вылета, нажмите 2;
Писала меню с помощью switch case
С++ изучать стала не давно так что прошу подробней обьяснять
Код:
int main(int argc, char const *argv[]) {

	setlocale(LC_ALL, "rus");

	Menu();

	char c = 'z';

	while (c != 'q') {

		cin >> c;

		cin.ignore(100, '\n');



		int s = 10;

		switch (c) {

		case 'q':

			break;

		case 'm':

			Menu();

			break;

		case 'l':

			if (!Load()) {

				cout << "Ошибка чтения файла" << endl;

				break;

			}

			cout << "Загружено  " << GetSize() << " заявок " << endl;

			break;

		case 'k':

			cout << "Размер базы - " << GetSize() << endl;

			break;

		case 's':

			if (IsEmpty()) {

				cout << "База пуста" << endl;

				break;

			}

			if (!Save()) {

				cout << "Ошибка при сохранении" << endl;

				break;

			}

			cout << "База сохранена" << endl;

			break;

		case 'e':

			if (IsEmpty())

				cout << "База пуста" << endl;

			else

				cout << "База не пуста" << endl;

			break;

		case 'p':

			if (IsEmpty()) {

				cout << "База пуста" << endl;

				break;

			}

			PrintBase();

			break;

		case 'f':

			if (IsEmpty()) {

				cout << "База пуста" << endl;

				break;

			}
			// поиск по дате
			/* char SearchDepDate[11];

			cout << "Введите дату вылета: ";

			cin >> SearchDepDate;

			cout << endl;

			PassengerNode* tmp;

			tmp = FindPassenger(SearchDepDate);

			if (tmp == nullptr) {

				cout << " не найден!" << endl;

				break;

			}

			cout << "Заявка найдена" << endl;

			PrintPassengerInfo(tmp->PassengerData);

			cout << "Удалить?(y/n)" << endl;

			cin >> c;

			if (c == 'y') DeletePassenger(tmp);

			c = 'z';

			break;
			*/

			//поиск по рейсу
			char SearchFlight[NFOSize];

			cout << "Введите номер рейса для поиска: ";

			cin >> SearchFlight;

			cout << endl;

			PassengerNode* tmp;

			tmp = FindPassenger(SearchFlight);

			if (tmp == nullptr) {

				cout << " не найден!" << endl;

				break;

			}

			cout << "Найден рейс" << endl;

			PrintPassengerInfo(tmp->PassengerData);

			cout << "Удалить?(y/n)" << endl;

			cin >> c;

			if (c == 'y') DeletePassenger(tmp);

			c = 'z';

			break;


		case 'a':

			char Name[NFOSize];

			char SecondName[NFOSize];

			char LastName[NFOSize];

			char Destin[NFOSize];

			char DepDate[11];

			char Flight[NFOSize];


			cout << "Введите информацию о пассажире" << endl;

			cout << "Имя: ";

			cin >> Name;

			cout << endl;

			cout << "Фамилия: ";

			cin >> LastName;

			cout << endl;

			cout << "Отчество: ";

			cin >> SecondName;

			cout << "Пункт назначения: ";

			cin >> Destin;

			cout << endl;

			cout << "Дата вылета(дд.мм.гггг): ";

			cin >> DepDate;

			cout << endl;

			cout << "Рейс: ";

			cin >> Flight;

			cout << endl;

			AddPassenger(Name, LastName, SecondName, Destin, DepDate, Flight);

			cout << "Заявка добавлена" << endl;

			break;

		case 'g':

			if (IsEmpty()) {

				cout << "База пуста" << endl;

				break;

			}

			while (s != sort::up && s != sort::down) {

				cout << "Выберете направление сортировки(" << sort::up << " - по возрастанию, " << sort::down << " - по убыванию): ";

				cin >> s;

				if (s != sort::up && s != sort::down) cout << "Вы ввели недопустимое число" << endl;

			}

			Sorting(s);

			break;

		default:

			cout << "Неизвестная команда" << endl;

			break;

		}

	}

	return 0;

}

//--------------------------
ChrisGvr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многоуровневое меню Lindemann66 Qt и кроссплатформенное программирование С/С++ 4 23.09.2011 16:29
Многоуровневое дропдаун меню Ky3Heu, Общие вопросы Delphi 4 30.06.2011 12:29
Многоуровневое рисование. Alex Cones Win Api 2 11.10.2010 20:54
Многоуровневое меню по данному css коду Vladimirko HTML и CSS 0 26.08.2010 01:11
MainMenu многоуровневое *Devil* Общие вопросы Delphi 1 18.06.2007 00:05