struct Student
{
char* name;
int balls;
};
void inputdata(Student **s, int *n)
{
int nn;
printf("%s\n", "Input amount of students");
scanf("%i", &nn);
Student* a = new Student[nn];
for (int i = 0; i < nn; ++i)
{
scanf("%s", &a[i].name);
scanf("%i", &a[i].balls);
}
n = &nn;
s = &a;
}
void print(Student **s, int n)
{
for (int i = 0; i < n; ++i)
{
printf("%s %i\n", s[i]->name, s[i]->balls);
}
}
int main(int argc, char const *argv[])
{
Student** s;
int *n;
inputdata(s, n);
print(s, *n);
return 0;
}
So how am I supposed to input data and print data on console screen. I kinda input data, ok, unable to print it on my screen. Program ends. What am I supposed to fix here?
std::vector<Student>instead of raw arrays?