// roster_05_good.cpp // CS302 // James S. Plank // EECS Department, University of Tennessee // August, 2009 // Last Modification: February, 2011 // #include "roster_05.h" Roster::Roster(int starting_number) { start = starting_number; } void Roster::Add_name(string name) { names.push_back(name); } void Roster::Print(int columns, int print_names) { int i, rn, tmp; vector random; for (i = 0; i < names.size(); i++) random.push_back(i); for (i = random.size()-1; i >= 0; i--) { rn = lrand48()%(i+1); tmp = random[i]; random[i] = random[rn]; random[rn] = tmp; } cout << "\n"; for (i = 0; i < names.size(); i++) { if (i%columns == 0) cout << "\n"; rn = random[i]; cout << "" << endl; if (i%columns == columns-1) cout << "\n"; } if (i%columns != 0) cout << "\n"; cout << "
"; printf("", rn+start); if (print_names) cout << "
" << names[rn]; cout << "
\n"; }