#include <iostream> #include <string> using namespace std; const int slen = 30; struct student { char fullname[slen]; char hobby[slen]; int ooplevel; }; int getinfo(student pa[], int n); void display1(student st); void display2(const student * ps); void display3(const student pa[], int n); int main() { cout << "enter class size: "; int class_size; cin >> class_size; while (cin.get() != ' ') continue; student * ptr_stu = new student[class_size]; int entered = getinfo(ptr_stu, class_size); for (int i = 0; i < entered; i++) { display1(ptr_stu[i]); display2(&ptr_stu[i]); } display3(ptr_stu, entered); delete[] ptr_stu; cout << "done "; return 0; } int getinfo(student pa[], int n) { for (int i = 0; i < n; i++) { cout << "#" << i + 1 << " fullname: "; cin.getline(pa[i].fullname, slen); cout << "#" << i + 1 << " hobby: "; cin.getline(pa[i].hobby, slen); cout << "#" << i + 1 << " ooplevel: "; (cin >> pa[i].ooplevel).get(); cout << endl; } return n; } void display1(student st) { cout << "fullname: " << st.fullname << endl; cout << "hobby: " << st.hobby << endl; cout << "ooplevel: " << st.ooplevel << endl; } void display2(const student * ps) { cout << "fullname: " << ps->fullname << endl; cout << "hobby: " << ps->hobby << endl; cout << "ooplevel: " << ps->ooplevel << endl; } void display3(const student pa[], int n) { for (int i = 0; i < n; i++) { display2(&pa[i]); } }