I must ask user number of students who took test, then create a dynamic array and then get the scores for each student. Then calculate the sum,average of the scores. My problem is that once it calculates it continues to ask user for student scores. I am confused with this while loop. Below is my source code. Any ideas?

```
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
double grade= 0;
double sum = 0;
int count = 0;
double avg_score = 0;
cout << " Enter the number of students who took test : " ;
int num_students = 0;
cin >> num_students;
// cout << endl;
// double* p = new double[num_students];
while(true){
if (num_students== 0 || num_students == -1)
{
cout << " Enter a postive value please!" << endl;
cout << " Enter the number of students who took tests: ";
cin >> num_students;
cout << endl;
} // end of if statement
double* p = new double[num_students];
for (int i = 1; i <= num_students; i++)
{
cout << " Enter grade for Student " << i << ":" ;
cin >> grade;
p[i] = grade;
cout << p[i]<< endl;
sum += grade;
++count;
} // end of for loop
delete []p;
avg_score = sum / count;
cout << " The average of the test scores is " << avg_score << endl;
cout << " The sum of the test scores is " << sum << endl;
} // end of while loop
return 0;
}
```