Для моего класса comp sci мне пришлось создать программу, которая (просто ставит) обрабатывает сотрудников. До этого момента у меня не было проблем. Тем не менее, последняя часть задания - «Создать тестовую программу, которая обрабатывает массив из 5 сотрудников, которые вводятся из текстового файла, а затем выводятся как отчет сотрудника на экран». Я думал, что это будет относительно легко, в конце концов, насколько сложно разобрать текстовый документ. Проблема в том, что мне нужно вводить как строки, так и ints, и они не имеют никакого простого шаблона или разделения. Функция, которая у меня есть для ввода данных выглядит следующим образом:Каким будет лучший способ читать данные из текстового файла с помощью ints и строк в C++?
void employeeType::setEmployeeType(string first, string middle, string last,
int month, int day, int year, int ID,
string street, string town, string state, int zip, string county, string country,
int home, int cell, string email,
int sMonth, int sDay, int sYear,
string oStreet, string oTown, string oState, int oZip, string oCounty, string oCountry,
int work, int salary) {//code here..}
И один из моих входов из текстового документа:
William, R, Smith, 8, 24, 1963, 555238911, 12345 Street1, State1, 77123, County1, Country1, 1112223333, 3332221111, [email protected], 3, 19, 2007, 12345 oStreet1, oTown1, oState1, 77987, oCounty1, oCountry1, 2221113333, 75000
я планировал на разделении каждого входа, обнаруживая каждый «» который завершит каждый вход. Я всегда мог бы жестко закодировать его так, чтобы определенные входы (входные номера 4, 5, 6, 7, 10, 13, 14, 16, 17, 18, 22, 23 и 24) анализировались как ints, но это не было бы выглядят очень хорошо, и, вероятно, лучший способ сделать это. У кого-нибудь есть предложение?
Я всегда могу предоставить любую дополнительную информацию.
Я бы серьезно подумал о том, чтобы поместить все эти параметры в 'struct' и передать ссылку на тип объекта этой' struct'. – Galik
После «12345 Street1» город отсутствует? –
Другое дело, я думал, что если я добавлю какой-то особый символ перед int (вместо 123 это будет что-то вроде & 123), и перед сохранением его как строки я бы проверил, является ли & первым символом строки и если да, это int. Я не понимаю, почему это сработает. Определенно не лучшая практика, но для задания, которое фокусируется на других классах, она должна принять это. –