#include #include #include #include void main(int argc, char* argv[]) { if (argc != 2) { cout << "Must specify the event file" << endl; exit(1); } ifstream EventFile(argv[1]); ofstream out("mails.txt"); char* field = new char[120]; // stores the current field int SumOfTime = 0; int NumberOfEvents = 0; int counter = 0; bool sending; EventFile.getline(field, 120); // skip the first line // output the header out << "event_id" << " "; out << "event_type" << " "; out << "time" << " "; out << "receiver_id" << " "; out << "sender_id" << " "; out << "priority" << " " << '\t'; out << "message" << endl; // read and process each field of an field while (EventFile >> field) { switch (counter++ % 6) { case 0: out << field << '\t'; // event_id NumberOfEvents++; break; case 1: out << field << '\t'; // event_type if (field[0] == 'S') sending = true; else sending = false; break; case 2: out << field << '\t'; // time SumOfTime = SumOfTime + atoi (field); break; case 3: out << field <<'\t'; // receiver_id if (!sending) { counter = 0; // reset counter out << endl; } break; case 4: out << field <<'\t'; // sender_id break; case 5: out << field; // priority EventFile.getline(field, 80); // message out << field << endl; } // end switch } // end while out << "Average event time: " << SumOfTime/NumberOfEvents << endl; EventFile.close(); out.close(); }