2013-12-14 5 views
0

У меня есть следующий текстовый файл strucutre:Группировка данных в файле C++

<Game Draw> <Ticket ID> <Ticket Numbers>*6 
<Game Draw> <Ticket ID> <Ticket Numbers>*6 

Пример:

123 ABACD T1245 5 8 10 13 25 63 
123 ABACD T1245 6 7 9 12 61 63 
252 FYHGO T9736 8 9 10 11 12 13 
252 GTGOH T5436 10 11 12 13 14 15 

Каждая линия для лотерейного билета. - Билет может иметь несколько линий - и у Draw может быть несколько билетов.

Я хочу сделать фильтр по всем результатам для конкретной ничьей. Очевидно, что все игроки не будут в каждой ничьей - и ничья может иметь несколько билетов (с несколькими линиями билетов). Поэтому можно группировать все билеты на несколько слоев (Карта - внутри карты?), Чтобы я мог легко обрабатывать эту информацию. Или мне лучше всего просто обрабатывать все это по строкам и помещать в структуру некоторого описания.

Большое спасибо,

+1

Возможно, было полезно использовать базу данных вместо файла. Однако, в случае файла, если я получу вас правильно; да, вы можете сделать это std :: map > val ofc. может быть вашим собственным типом (например, Line). В любом случае, вы должны быть более четкими (примеры доступа). – Scony

ответ

1

Я думаю, что вам, возможно, придется использовать регулярное выражение и пользовательский определить структуру для обработки, а также. Этот код является лишь небольшим фрагментом кода.

//Originally, each data is from txt file. 
//but, this is just sample. 
struct Ticket_Info 
{ 
    int  first_number; 
    string game_draw; 
    string ticket_id; 
    int  ticket_numbers[MAX_TICKET_NUMBER]; 

} tickets[] = 
{ 
    {123, "ABACD", "T1245", {5, 8, 10, 13, 25, 63}} 
, {123, "ABACD", "T1245", {6, 7, 9, 12, 61, 63}} 
, {252, "FYHGO", "T9736", {8, 9, 10, 11, 12, 13}} 
, {252, "GTGOH", "T5436", {10, 11, 12, 13, 14, 15}} 
}; 

std::regex match_draw_key("FYHGO"); 

for_each(std::begin(tickets), std::end(tickets), [&](const Ticket_Info &ticket) 
{ 
    std::cout << ticket.ticket_id << ": " << std::regex_match(ticket.game_draw, match_draw_key) << '\n'; 
}); 

Надеюсь, это поможет вам немного.

Смежные вопросы