#include #include #include //for class string using namespace std; int countBits(unsigned char x) { int count = 0; for (int i = 0; i < 8; i++) { if (x & 1) count++; x >>= 1; } return count; } struct restaurant { string name; unsigned char daysopen; }; int main() { const char sun {1 << 0}; //00000001 const char mon {1 << 1}; //00000010 const char tue {1 << 2}; //00000100 const char wed {1 << 3}; //00001000 const char thu {1 << 4}; //00010000 const char fri {1 << 5}; //00100000 const char sat {1 << 6}; //01000000 struct restaurant { string name; unsigned char days; //which days of the week the restaurant is open }; const restaurant a[] { {"Katz's Delicatessen", sun | mon | tue}, //00000111 0x07 {"Tavern on the Green", sat | sun}, //01000001 0x41 {"Wo Hop", sun | mon | tue | wed | thu | fri | sat}, //01111111 0x7F {"Luchow's", mon | tue | wed}, //00001110 0x0E {"Delmonico's", thu | fri | sun} //00110001 0x31 }; const size_t n {size(a)}; //how many restaurants const auto now {chrono::system_clock::now()}; const int day {p->tm_wday}; //0 = Sunday, 1 = Monday, ... 6 = Saturday const string dayname[] { "Sunday", //0 "Monday", //1 "Tuesday", //2 "Wednesday", //3 "Thursday", //4 "Friday", //5 "Saturday" //6 }; for (int i = 0; i < n; ++i) { cout << a[i].name; int padding = 25 - static_cast(a[i].name.length()); for (int j = 0; j < padding; ++j) cout << " "; cout << countBits(a[i].days) << "\n"; return EXIT_SUCCESS