Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "numericmenu.h"
- void tri() {
- size_t size;
- std::cerr << "How big do you want your triangle?\nEnter the number of rows: ";
- std::cin >> size;
- for(size_t i = 0; i < size; ++i) {
- for (size_t j = 0; j < i+1; ++j) {
- std::cerr << '*';
- }
- std::cerr << '\n';
- }
- }
- class Square {
- public:
- void operator()() {
- size_t size;
- std::cerr << "How big do you want your square?\nEnter the number of rows: ";
- std::cin >> size;
- for(size_t i = 0; i < size; ++i) {
- for (size_t j = 0; j < size; ++j) {
- std::cerr << '*';
- }
- std::cerr << '\n';
- }
- }
- };
- int main() {
- nmenu::MenuList menu("Go to the main menu.");
- nmenu::MenuList meno("Go to an empty menu.", &menu);
- nmenu::MenuList menopause("Go to the Asterisk Geometry menu.");
- nmenu::MenuExit paws("","You just exited the program. Have a nice day!\n");
- Square squ;
- auto ev = [&menu](){menu.disconnect(1);};
- nmenu::MenuItem<decltype(&ev)> discon("Remove this option from the menu.",&ev,&menu);
- nmenu::MenuExit ter("Please don't choose this. I don't want to be terminated.","You're so mean. *dies*\n");
- menu.connect(&menopause);
- menu.connect(&discon);
- menu.connect(&meno);
- menu.connect(&paws);
- menu.connect(&ter);
- nmenu::MenuItem<void(*)()> twi("Make the program print a triangle of asterisks.",tri,&menopause);
- nmenu::MenuItem<Square> rec("Make the program print a square of asterisks.",squ,&menopause);
- menopause.connect(&menu);
- menopause.connect(&twi);
- menopause.connect(&rec);
- menu.exec();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement