При попытке вывести определённые данные программа выводит все данные подряд в C++
Всем привет! Написал программу, где содержится описание класса Student. Проблема в том, что надо вывести только тех студентов, у которых факультет Microbiology, вместо этого вижу вывод и тех студентов, факультет которого не Microbiology. Такая же проблема существует, когда пытаюсь вывести только тех студентов, родившихся после заданного года. Что может быть не так?
Кусочек кода:
// Список студентов с заданным факультетом
void list_of_faculties(Student spisok[], int n)
{
bool found = false;
string faculty;
cin.get();
cout << "Введите факультет для вывода списка студентов с заданным факультетом: ";
getline(cin, faculty);
cout << endl;
for (int i = 0; i < n; i++)
{
if (spisok[i].get_faculty() == faculty)
found = true;
spisok[i].show();
}
if (found == false)
cout << "Не найдено ни одного студента с заданным факультетом.";
}
Ссылка на мою программу:
https://drive.google.com/file/d/1kCUrq_hW2GvAqs3nTELJxmxkWqbcOpkY/view?usp=sharing
Эту проблему можно увидеть в виде скриншотов:
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
Фигурные скобки. Было:
if (spisok[i].get_faculty() == faculty)
found = true;
spisok[i].show();
Стало:
if (spisok[i].get_faculty() == faculty)
{
found = true;
spisok[i].show();
}


