// roster_03_evil.cpp // CS302 // James S. Plank // EECS Department, University of Tennessee // August, 2009 // #include #include "roster_03.h" main(int argc, char **argv) { ifstream fin; string name; int columns, starting_number; if (argc != 4) { cerr << "usage: roster_main filename starting_number columns\n"; exit(1); } if (sscanf(argv[2], "%d", &starting_number) != 1 || starting_number <= 0) { cerr << "usage: roster_main filename starting_number columns -- bad starting_number\n"; exit(1); } if (sscanf(argv[3], "%d", &columns) != 1 || columns <= 0) { cerr << "usage: roster_main filename starting_number columns -- bad columns specification\n"; exit(1); } Roster r(starting_number);; fin.open(argv[1]); if (fin.fail()) { perror(argv[1]); exit(1); } do { getline(fin, name); if (!fin.fail()) r.Add_name(name); } while (!fin.fail()); r.Print(columns); }