можно проверить через find введенную сроку в структуре?

Как-то так или нет?

string streets;
 
cout << "Введите улицу: ";
cin >> streets;
int n = 0;
 
for (int i = 0; i < size; i++)
{    
    if (streets.find(arr_Students[i].adress)) {
        n++;     
    }       
}
cout << "Количество студентов, живущих на указанном с клавиатуры улице:" << n;

Ответы (2 шт):

Автор решения: Harry

Если и arr_Students[i].adress, и streets имеют тип string, то

if (arr_Students[i].adress.find(streets) != string::npos) 
{
    // Найдено
}

Но если char[] - то тот же if

strstr(arr_Students[i].adress,streets) != NULL

Если, скажем, arr_Students[i].adress - chsr[], а streets - string

strstr(arr_Students[i].adress,streets.c_str()) != NULL
→ Ссылка
Автор решения: EOF

Вам нужно искать улицу в адресе, а Вы ищите адрес в улице. Т.к. arr_Students[i].adress - это массив char, а не string, то нужно создать временную переменную типа string, в которую сохранить arr_Students[i].adress, а потом уже искать:

string streets;
 
cout << "Введите улицу: ";
cin >> streets;
int n = 0;

string tempAddress;
 
for (int i = 0; i < size; i++)
{   
    tempAddress = arr_Students[i].adress;
    if (tempAddress.find(street) != string::npos) {
        n++;     
    }       
}
cout << "Количество студентов, живущих на указанном с клавиатуры улице:" << n;
→ Ссылка