Исключение пассажира из вагона

currentMesto – текущее место в вагоне (int)

Цикл

Если (p.vagon=currentVagon) Исключение пассажира из вагона - student2.ru (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';

}

}

}

}

Схема взаимодействия таблиц базы данных

Исключение пассажира из вагона - student2.ru

Схема взаимодействия пользователя программы с базой

Добавление ребенка в БД
Удаление ребенка из БД  
Редактирование сведений о детях  
Просмотр сведений о детях  
  База данных сведений о детях  




Физическая модель базы данных

kid

Исключение пассажира из вагона - student2.ru

Camp

Исключение пассажира из вагона - student2.ru

Firm

Исключение пассажира из вагона - student2.ru

Наши рекомендации