Показать сообщение отдельно
Старый 06.12.2012, 22:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
axforum blogs: FizzBuzz
Источник: http://axforum.info/forums/blog.php?b=358
==============

Навеяно статьей FizzBuzz, или почему программисты не умеют программировать

Цитата:
Напишите программу, которая выводит на экран числа от 1 до 100. При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», а вместо чисел, кратных пяти — слово «Buzz». Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz»
X++:
#define.FIZZ(3)
#define.BUZZ(5)
static void FizzBuzzImpl(Args _args)
{
    int i;
    ;

    for (i = 1; i <=100; i++)
    {
        switch(true)
        {
            case ((i mod #FIZZ) == 0) && ((i mod #BUZZ) == 0):
                info(strfmt("FizzBuzz %1", i));
                break;
            case ((i mod #FIZZ) == 0):
                info(strfmt("Fizz (%1)", i));
                break;
            case ((i mod #BUZZ) == 0):
                info(strfmt("Buzz (%1)", i));
                break;
            default:
                info(strfmt("%1", i));
        }
    }
}
p.s. Кстати, switch(true) невероятно мощная конструкция, которую можно смело считать реализацией "Сопоставления с образцом"(pattern matching) в Х++.
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.