C/C++

Помогите пожалуйста со структурами. Нужно перебрать свойство структуры.

Всем здравствуйте. Одно из условий задачи на учебе, вывести сотрудников у которых номер телефона начинается на определенные цифры. Я создал класс и 100 сотрудников с именами и номерами телефона. Теперь мне нужно прогнать их всех через цикл и if вывести сотрудников с определенными номерами. Но я не знаю, как прогнать именно всех сотрудников в цикле. Читал, что нужно сделать массив класса. Вроде сделал как написано на одном из форумов, но почему-то у меня номер телефона всегда приравнивается единице. А если захочу таким же образом вывести имя, то фигня какая-то. Что я делаю не так?
P.S. Для примера убрал цикл и просто оставил вывод.
 #include  
#include
#include
#include
using namespace std;
int main()
{
struct sotrudnic {
char name[50];
int telephone;
void coutSotrudnic(){
cout
 #include  
#include
#include
#include
using namespace std;
struct Employee {
string name;
string phone;
Employee() : name(0), phone("-") {}
Employee(const string& name, const string& phone) : phone(phone), name(name) {}
bool find_first_digit(char digit)const {
return digit == phone.front();
}
private:
friend bool operator
ДИ
Дмитрий Изюмский
72 182
Лучший ответ
Серёга Бедрак тут и перегрузка конструктора, и лямбды, и указатели... информатичка вообще не догадается что с интернета взято, особенно когда он не сможет ничего объяснить как что работает

"элегантный" ответ... но... абсолютно бесполезный...
у тебя нигде не создается массив наполненный твоими страктами
ты просто объявил массив типа sotrudnic и длиной 100 элементов
поэтому что то пытаться брать из неинициализированного массива - бессмысленно
я не пойму почему нету ошибки ArrayOutOfBounds* или ArrayElementUndefined*

короче клади сразу свои стракты в массив, прямо во время объявления (такой вид наполнения массива называется literal, или hard-code, и это полный треш, вместо этого ты должен создать какую то внешнюю базу, например в виде файла yaml, и оттуда уже тянуть в цикле свои все значения), и уже потом вызывай arr[n].itemname
ты можешь даже сделать проще - создай вектор* с сотней имен, еще один вектор с сотней телефонов, а затем в цикле от 0 до 99 пробегись и делай arr.push(new Employee(names[i], phones[i]))*

никакие сто переменных создавать НЕ НАДО, клади в массив в виде анонимных элементов; а если тебе нужны именованные элементы - то используй Dictionary* или NamedSet*

а еще ты смешиваешь \n и <<endl, из за чего путаница в какую строчку что пошло


* псевдокод
Владимир Бердников как-то сложно и не понятно) Я просто только начал изучать структуры.
Владимир Бердников Через массив понятно, что можно сделать. У меня даже на выбор есть два задания. Один с массивом, второй со структурой. Но с массивами и матрицами я уже выполнял задания. Хочется учиться структурами пользоваться.
Amonullo Kalonzoda Ну вот. Увидел комментарии. Подумал, что будет обсуждение с тем кто задал вопрос(