Задача: Написати програму, яка використовує структуру з наступними полями:
Name( Student name)
Idnum (Student ID number)
Tests (Pointer to an array of test scores)
Average (Average test score)
Grade (Course grade)
В програмі має бути динаміний масив таких структур.
Це я реалізувала так:
▼Прихований текст
#include <iostream>
#include <string>
using namespace std;
struct DataStudent
{
string Name;
int Idnum;
int *Tests;
double Average;
char Grade; // A-F
};
DataStudent *createData(int &size_group, int &number_tests)
{
if (size_group == 0 )
size_group = 1;
DataStudent *group = new DataStudent[size_group];
for (int i = 0; i < size_group; ++i)
group[i].Tests = new int[number_tests];
return group;
}
bool validInput(int number)
{
if (number < 0)
return false;
return true;
}
int main()
{
int number_students, number_tests;
do{
cout << "How many students there are: ";
cin >> number_students;
cout << "How many test scores there are to be: ";
cin >> number_tests;
if (!validInput(number_students) || !validInput(number_tests))
cout << "Incorrect input\n";
} while (!validInput(number_students) && !validInput(number_tests));
DataStudent *group_of_students = createData(number_students, number_tests);
return 0;
}
І ще в задачі необхідно виконати перевірку на заповненість усіх полів. Так от, як це зробити для поля Name я знаю - просто перевірити чи рядок не пустий, а як зробити перевірку для числових полів - не знаю, і взагалі, воно ж не дасть ввести "нічого", там де має бути число.
Підкажіть, будь ласка, як це зробити, або направте.