// roster_05_main.cpp // CS302 // James S. Plank // EECS Department, University of Tennessee // August, 2009 // #include #include "roster_05.h" main(int argc, char **argv) { Roster *r; ifstream fin; string name; int columns, starting_number, print_names; srand48(time(0)); if (argc != 5) { cerr << "usage: roster_main filename starting_number columns print_names(yes/no)\n"; exit(1); } if (sscanf(argv[2], "%d", &starting_number) != 1 || starting_number <= 0) { cerr << "usage: roster_main filename starting_number columns print_names -- bad starting_number\n"; exit(1); } if (sscanf(argv[3], "%d", &columns) != 1 || columns <= 0) { cerr << "usage: roster_main filename starting_number columns print_names -- bad columns specification\n"; exit(1); } if (strcmp(argv[4], "yes") == 0) { print_names = 1; } else if (strcmp(argv[4], "no") == 0) { print_names = 0; } else { cerr << "usage: roster_main filename starting_number columns print_names(yes/no)\n"; cerr << "print_names must be yes or no\n"; exit(1); } r = new Roster(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, print_names); }