Няшная / Говнокод #19953 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
const char* prizes(int level, int place = 0)
{
    switch(level){
        case 0:                              // Прошедшие квалификацию 
            return "сертификат";             // получат сертификат участника Russian Code Cup.
        case 1:                              // 200 лучших участников отборочного раунда  
            return "футболка";               // получат футболки.
        case 2:                              // Прошедшие в финал
            return "подарок";                // получат подарки.
        case 3:
            if(place == 1)                   // Призеры чемпионата
                return "150000р";            // получат денежные призы.
            else if(place == 2)
                return "100000р";
            else if(place == 3)
                return "65000р";
            else if(place <= 10)
                return "30000р";
            else if(place <= 25)
                return "15000р";
    }
    return "";
}

Пусть полежит тут.

Запостил: bot bot, (Updated )

Комментарии (56) RSS

    • Необязательные параметры в си как раз есть. Дефолтных значений нет.
      Ответить
      • > Необязательные параметры
        Это функции с переменным числом аргументов?
        Ответить
              • Ахаха. Представил у Якубовича в поле чудес на табло одна буква
                в итоге никто не угадал, потому что она из латиницы)
                Ответить
                • Чёрный ящик открывать не буду, но я думаю что это буква U+04F8.
                  Ответить
                  • >> Чёрный ящик открывать не буду

                    и тут в студию влетает BlackBoxException и начинает пиздить тройку игроков
                    Ответить
                    • ... ловится усами якубовича и попадает в хранилище, аккурат ко всем банкам с огурцами
                      Ответить
    • Блин, это же надо стараться чтоб такое получить если учавствуешь!
      Ответить
  • Где здесь говнецо, bot?

    Кстати, советую поучаствовать. Я каждый год выигрываю футболку.
    Ответить
    • Надо было prize инициализировать как INT_MAX. А то при вызове prizes(3) вернётся 30000p, чего явно не ожидалось.
      Ответить
  • case 0: // Прошедшие квалификацию
    return "сертификат"; // получат сертификат участника Russian Code Cup.
    case 1: // 200 лучших участников отборочного раунда
    return "футболка"; // получат футболки.
    case 2: // Прошедшие в финал
    return "подарок"; // получат подарки.
    case 3:

    АФУТБОЛКАБАБЛОИСЕРТИФИКАТНЕПОДАРОК?
    Ответить
  • case 3:
                if(place == 1)                   // Призеры чемпионата
                    return "150000р";            // получат денежные призы.
                else if(place == 2)
                    return "100000р";
                else if(place == 3)
                    return "65000р";
                else if(place <= 10)
                    return "30000р";
                else if(place <= 25)
                    return "15000р";

    Автор побоялся использовать вложенный switch?
    Ответить
      • case 1:
            ...
        case 2:
            ...
        default: 
            if (place <= 10)
                ...
            else if (place < =25)
                ...
        Ответить
          • То ли дело Паскаль:
            case place of
                1:                result := '150000р';
                2:                result := '100000р';
                3:                result := '65000р';
                4..10:            result := '30000р';
                11..25:           result := '15000р';
                else              result := 'Соснули';
            end;


            Во многих языках не хватает операций со множествами вообще и с интервалами в частности.
            Ответить
              • Что-то мне это напоминает:
                SELECT CASE
                    WHEN place = 1 THEN '150000р'
                    WHEN place = 2 THEN '100000р'
                    WHEN place = 3 THEN '65000р'
                    WHEN place BETWEEN 4 AND 10 THEN '30000р'
                    WHEN place BETWEEN 11 AND 25 THEN '15000р'
                    ELSE 'Соснули'
                END;
                Ответить
                • Че уж мелочится

                  WITH places AS
                     (SELECT 4 AS place
                      UNION ALL
                      SELECT place + 1 AS place
                      FROM places 
                      WHERE places.place <= 25)
                  
                  SELECT *
                  FROM
                  (
                  	SELECT 1 as place, '150000p' as prize
                          UNION
                          SELECT 2 as place, '100000p' as prize
                          UNION
                          SELECT 3 as place, '65000p' as prize
                  	UNION
                  	SELECT *
                  	FROM places JOIN (SELECT '30000p' prize) t ON place<11
                  	UNION
                  	SELECT *
                  	FROM places JOIN (SELECT '15000p' prize) t ON place>10
                  ) as winners
                  WHERE winners.place = place
                  Ответить
                  • Кто ж так SQL юзает?
                    INSERT INTO prizes(level, place_min, place_max, prize) VALUES (
                        (0, NULL, NULL, "сертификат"),
                        (1, NULL, NULL, "футболка"),
                        (2, NULL, NULL, "подарок"),
                        (3, 1, 1, "150000р"),
                        (3, 2, 2, "100000р"),
                        (3, 3, 3, "65000р"),
                        (3, 4, 10, "30000р"),
                        (3, 11, 25, "15000р")
                    )
                    
                    SELECT prize
                    FROM prizes
                    WHERE
                        level = :level and
                        ((place_min IS NULL AND place_max IS NULL) or
                         (:place between place_min and place_max))
                    Ответить
                    • странный синтаксис (values ((),()) вместо values (), (); "" вместо ''), что за субд?

                      + денормализация по интервалу - да, быстрее, чем хранить лишь одну границу интервала, но чревато сюрпризами
                      Ответить
                      • > что за субд
                        СУБД называется "давненько не брал я в руки шашек". Уже год где-то к SQL не притрагивался (и слава богу)...

                        > денормализация по интервалу
                        Хуяк-хуяк и в продакшен.
                        Ответить
                    • >> level < :level


                      Потому что призеры и подарки, и майки и сертификаты тоже получат
                      Ответить
                        • Код говно, недаром он тут. Сертификат-то за первое место точно выдают
                          Ответить
                  • win(0, _, "сертификат") :- !.
                    win(1, _, "футболка") :- !.
                    win(2, _, "подарок") :- !.
                    win(3, 1, "150000р") :- !.
                    win(3, 2, "100000р") :- !.
                    win(3, 3, "65000р") :- !.
                    win(3, X, "30000р") :- X =< 10, !.
                    win(3, X, "15000р") :- X =< 25, !.
                    win(_, _, "Соснули").
                    Ответить
                    • .!. - хуй
                      :- - те же яйца, только в профиль
                      !. - хуй программиста на c++
                      Ответить
                          • Цикл "Лев, царь и платяной багор"

                            Часть 1 - лев
                            Карманный лев сидит на куче
                            И память нежно стережет
                            Как потечет - мрачнее тучи
                            Глаза красны и в пене рот
                            Одным прижком в карман влетая
                            Как будто спушен был курок
                            В яйцо впивается зубами
                            Чтоб программисту был урок
                            ***
                            Карманный лев, природы царь
                            Вам яйцы отгрызет как встарь
                            Коль память с кучи потечет
                            То член он тоже отгрызет
                            ***
                            Да хоть пиши ты на прологе
                            Валяясь голым на диване
                            Но прежде чем компилить прогу -
                            Проверь что нету льва в кармане
                            ***
                            Бичпакет не поможет, сейф стальной не спасет
                            Вне времен лев карманный - знает все наперед
                            Телепортом владеет, быстрый как солнца свет
                            Коль течет твоя память, то спасения нет
                            Ответить
                      • > !. - хуй программиста на c++

                        лол )))
                        Ответить
                        • Одно яйцо отгрыз карманный лев за порчу стека.
                          Ответить
            • вот этого кстати в плюсах и не хватает - оператора ..
              Было б классно писать
              for (int i : 10..19)
              Ответить
                • для свитч кейсов. Например, для парсинга NMEA пакетов с AIS очень много где бы пригодилось. Там кое-где enum'ы по 100+ значений, больше половины которых reserved for future use
                  Ответить
                  • хм
                    а их надо хардкодить в свич? почему не использовать внешний справочник (скормленный один раз при старте в *map)?
                    Ответить
                    • а какая проблема захардкодить, если уже указанные значения не меняются а новые появляются раз в декаду?
                      Ответить
  • лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба лаба
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8