Исключение пассажира из вагона
currentMesto – текущее место в вагоне (int) Цикл Если (p.vagon=currentVagon) (p.position=currentMesto) то Добавить пассажира в список unposedList(p) Удалить пассажира из списка posedList(p) Кесли Кцикл poezd[currentVagon].places[currentMesto] = false; foreach(Passagear p, posedList) { if ((p.vagon == currentVagon) && (p.position == currentMesto)) { unposedList.append(p); posedList.removeOne(p); break; } } poezd[currentVagon].places[currentMesto] = false; } Исключение всех пассажиров Цикл poezd[p.vagon].places[p.position] = false; Кцикл Добавить все элементы списка в unposedList(posedList) Очистить список(posedList)
foreach(Passagear p, posedList) poezd[p.vagon].places[p.position] = false;
unposedList.append(posedList); posedList.clear();
Создание отчета в файл pushButton_report_clicked() { QString filename = QFileDialog::getSaveFileName( this, tr("Выбор файла отчёта"), "", tr("Comma Separated Values (*.csv)")); if (filename.isEmpty()) return; QList<Passagear> sortedPosedList = posedList; Sorter sorter; std::sort(sortedPosedList.begin(), sortedPosedList.end(), sorter); QFile file(filename); file.open(QIODevice::WriteOnly); QTextStream stream(&file); int index = 0; for (int vagonIndex = 0; ; vagonIndex++) { stream << '\n' << tr("Вагон: ") << vagonIndex+1 << '\n' //<< tr("Вагон") << ';' << tr("Место") << ';' << tr("ФИО") << ';' << tr("Пол") << ';' << tr("Дата рождения") << ';' << tr("Лагерь") << ';' << tr("Фирма") << ';' << tr("Данные") << '\n'; for (int mestoIndex = 0; mestoIndex < 54; mestoIndex++) { if (sortedPosedList[index].vagon == vagonIndex && sortedPosedList[index].position == mestoIndex) { stream //<< vagonIndex + 1 << ';' << mestoIndex + 1 << ';' << sortedPosedList[index].fio << ';' << sortedPosedList[index].sex << ';' << sortedPosedList[index].birth.toString("dd.MM.yyyy") << ';' << sortedPosedList[index].campName << ';' << sortedPosedList[index].firmName << ';' << sortedPosedList[index].info << '\n'; index++; if (index == sortedPosedList.size()) return; } else if (poezd[vagonIndex].places[mestoIndex] == true) { stream //<< vagonIndex + 1 << ';' << mestoIndex + 1 << ';' << tr("СОПРОВОЖДАЮЩИЙ") << '\n'; } } } }
Схема взаимодействия таблиц базы данных
Схема взаимодействия пользователя программы с базой
Физическая модель базы данных kid
Camp
Firm
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (441)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |