Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит ФИО, адрес, оценки. Определить количество абитуриентов, проживающих в г. Саранске и сдавших экзамены со средним баллом не ниже 4.5, вывести их фамилии в алфавитном порядке.
#include <iostream>
using namespace std;
struct stud
{
string FIO;
string adress;
int marks[];
};
int main()
{
stud mas[20];
int n,k;
k=0;
cout << "Vvedite kollichestvo studentov "; cin >> n;
double *sr;
sr = new double[n];
for (int i = 0; i < n; i++)
{
cout << endl << "Vvedite FIO: "; cin >> mas[i].FIO;
cout << endl << "Vvedite adress: "; cin >> mas[i].adress;
cout << endl <<"Vedite chislo predmetov: "; cin>> k;
for (int j = 0; j < k; j++)
{
cout << endl << "Vvedite " << j + 1 << " osenok: "; cin >> mas[i].marks[j];
}
}
for (int i = 0; i < n; i++)
{
double sum = 0;
for (int j = 0; j < k; j++)
{
sum += mas[i].marks[j];
}
sr[i] = sum / k;
}
cout << endl << "Sdali iz Saranska ne nize 4.5: " << endl;
int p = 0;
for (int i = 0; i < n; i++)
{
if (mas[i].adress == "Saransk" && sr[i] >= 4.5)
{
p++;
cout << mas[i].FIO << endl;
}
}
cout << "Takih " << p << " studentov "<<endl;
delete[] sr;
system("pause");
return 0;
}
У меня вводиться только 1 студент, потом ошибка, каким образом можно сделать, чтобы можно было вводить число студентов и оценок за предметы по желанию пользователя?
Как я понял, я создал массив только из одного элемента, а мне нужно чтобы он вводился пользователем с клавиатуры. Если, предположим, я создам динамический массив т.е. напишу
int *marks