/// euxlDoListCont - continuation for euxlDoList void euxlDoListCont() { // get the argument count euxlValue tmp = euxmStackPop(); // convert the argument count and loop euxcArgC = (int)euxmGetFPI(tmp); forLoop(); }
void forLoop(int i, const int modFizz, const int modBuzz) { if (i <= UPPER_BOUND) { if (checkFizz(i, modFizz)) checkBuzz(i, modBuzz); else if (!checkBuzz(i, modBuzz)) std::cout << i; (i % 15 == 0) ? std::cout << "\n" : std::cout << " "; forLoop(++i, modFizz, modBuzz); } }
/// euxlDoList - built-in function '%do-list' void euxlDoList() { static char *functionName = "%do-list"; if (euxcArgC < 2) { euxcTooFew(functionName); } forLoop(); }
int main() { int size = 10; int array[size]; forLoop(array, size, multiply); // forLoop2(array, size, multiply(size)); forLoop3(array, size, multiply, 3); GenericForLoop((int)array, size, multiply); GenericDatastructureForLoop(array, size, multiply); // yes function should work on arrays // create datastructure // GenericDatastructureForLoop(&datastructure, size, multiply); return 0; }
void doWhileLoop(int modFizz, int modBuzz, int iterations) { std::cout << "Iteration #" << iterations << " - " << "Fizz on " << modFizz << ", Buzz on " << modBuzz << ", FizzBuzz on\n" << modFizz << " * " << modBuzz << ", otherwise just print the integer:\n\n"; forLoop(LOWER_BOUND, modFizz, modBuzz); if (ITERATE_FLAG && iterations < ITERATIONS) { std::cout << "\n\n"; doWhileLoop(fibIsh(modFizz), fibIsh(modBuzz), ++iterations); } }