Как мне сделать программу на C ++, которая читает информацию в массиве строк и затем сортирует ее в класс? - PullRequest
0 голосов
/ 20 октября 2019

В частности, мне нужно взять список в формате

const string studentData[4] =
 {"A1,John,Smith,John1989@gmail.com,20,30,35,40,SECURITY",
 "A2,Suzan,Erickson,Erickson_1990@gmailcom,19,50,30,40,NETWORK",
 "A3,Jack,Napoli,The_lawyer99yahoo.com,19,20,40,33,SOFTWARE",
 "A4,Erin,Black,Erin.black@comcast.net,22,50,58,40,SECURITY"}

и поместить их все в массив класса, в котором он отформатирован как

class student {
public:
   void getter();
   void setter();

private:
   string ID;
   string firstName;
   string lastName;
   string email;
   int age;
   int courseDays[3];
   degree; //degree is an enumerated data type defined in another file.
}

. Затем мне нужночтобы из отдельного файла использовать массив указателей, который является частным элементом другого класса, для выполнения нескольких других функций. В основном я не знаю, как разделить отдельные точки данных в каждой строке так, чтобы их можно было установить в качестве значений для частных переменных класса "student".

1 Ответ

2 голосов
/ 20 октября 2019

Вы можете использовать поток и getline, чтобы разделить строку на запятые:

std::istringstream is{"A1,John,Smith"}; // for example
std::getline(is, ID, ',');
std::getline(is, first_name, ',');
std::getline(is, last_name, '\0');

Для целых чисел просто прочитайте число и отбросьте запятую:

is >> age;
is.ignore(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...