1. Си / Говнокод #4713

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /*----------------------------------------------------------------------------*/
    double XzMinSec( double XBOCT, unsigned int OKP){ /*Gr(Ch).dG(dC)->Gr(Ch)MS.dS*/
    signed int  min,  xz = XBOCT; XBOCT-=xz; min=60*XBOCT;  XBOCT=(XBOCT*60-min)*60;
    if (XBOCT>=59.5) { unsigned char teg[32]; double n =  pow(10,OKP) * (XBOCT-min);
    signed int z=n;n-=z; if(n>=0.5||n<=-0.5){ signed int x,y=0; sprintf(teg,"%d",z);
    while(teg[y]!='\0') y++;  z=1; for( x=0; x<OKP; x++ )  if ( teg[--y]!='9' ) z=0;
    if(z==1) if(abs(min)==59) if(min<0) XBOCT=-4100; else XBOCT=4100; else if(min<0)
    XBOCT=-100; else XBOCT=100; }}     return  xz * 10000  +  min * 100  +  XBOCT; }
    /*----------------------------------------------------------------------------*/

    гм... работает...

    Запостил: BeardRED, 22 Ноября 2010

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

    • > гм... работает...
      Не компиляется
      Ответить
      • Очень даже компилится
        xaionaro@nemesis:~$ gcc -lm t.c -c
        t.c: In function ‘XzMinSec’:
        t.c:3: warning: incompatible implicit declaration of built-in function ‘pow’
        t.c:4: warning: incompatible implicit declaration of built-in function ‘sprintf’
        xaionaro@nemesis:~$ ls -ld ./t.o
        -rw-r--r-- 1 xaionaro xaionaro 2296 Ноя 23 16:30 ./t.o
        Ответить
        • Ох щи, я это как цпп пытался вчера собрать...
          Ответить
        • уж даже и не знаю что меня сильнее пугает:
          имена хостов в общем случае
          или люто зашкалившая дата в частности
          Ответить
          • >имена хостов в общем случае
            правильно писать XBOCTов :)
            Ответить
            • Учёные-хренологи до сих пор спорят, где находится Локалхост (или Локалхвост).
              Ответить
              • Зато где находится топка Локалхвоста, знают даже дети!
                Ответить
          • nemesis -- крылатая богиня возмездия, карающая за нарушение общественных и моральных норм
            Ответить
    • т аки будите смеяться.... но это видимо таки с++.... билдером 5 компилится на раз
      Ответить
      • Вi таки будете смияцо, но это видимо все-таки какая-то неведомая, вырвиглазная хуита
        Ответить
      • Вопрос №1: Где здесь С++, BeardRED?
        Ответить
        • в комментариях в коде, автор юзает переопределенный operator->(). строка нумер 2
          Ответить
        • в четвертой строке однако.... дубель там не константой иницуетси...
          Ответить
    • gcc 3.4.5 скушал с ворнингами.
      Ответить
      • x<OKP
        signed и unsigned... а почему ОКР - беззнаковое - понятно... по смыслу (формат-же)... а почему х - потому что лень, видимо отдельно объявлять было... в принципе ворнинг исправляемый... забава в контроле последовательности девяток. и ведь чётко работает...
        Ответить
      • gcc 3.4.x стоит на 7 фряхе. что-то вы морально устарели батенька
        Ответить
        • gcc на фряхе?
          Ответить
          • эээ да!

            акцент моего камента на версии gcc
            Ответить
            • А что такое "в седьмой фряхе"?
              она ж поди из портов ставится, а они обновляются
              нет?
              Ответить
              • да. обновляются если обновлять.

                а трабл с 7 фряхой в том, что уже вышла 8.
                а так все ништяк
                Ответить
        • что было на mingw, то и проверил.
          Ответить
    • У Вас опечатка: компания из "Робокопа" называлась "Omni Consumer Products" (OCP), а не OKP.
      Ответить
    • я в ступоре, большинству нравится что-ли этот кусок кода??!!! то что это говнокод всего 1 голос за и 8 против.
      если это пример качественного кода, что нах тогда ругать новичковый маразм if(result == true) return true; else return false; здесь хотя бы все просто, как слышим так и пишем
      Ответить
      • ну не знаю как народ, а я ставлю:
        - за лабы, т.к. просмотр кода никак не помогает специалистам, а вызывает уныние.
        - за код-фигню (тут была история что-то типа "не выспался и написал", заминусовали уже)
        + за работающий код, но реализованный криво, для того чтобы те, кто посмотрит это, так больше не сделает.
        + ну или код с косяками, по тем же соображениям.
        + если понравится чисто субъективно (например код 4502, забавно же)
        за этот код я не проголосовал - и так понятно, что нормальные люди так не пишут
        Ответить
        • мда... надо бы сайту тогда дифференцировать оценки и ввести разные номинации.
          а то настоящий говнокод не всплывает на поверхность, а как-то застревает
          Ответить
          • Унылое говно никому не интересно. Интересно только весёлое говно.
            Ответить
        • а, зря не проголосовал: говнокод автоудаляется как только набирает -10 или более
          Ответить
        • 4502 - это мастер писал :)
          очень изящные умственные выкрутасы
          Ответить
    • Как это выглядит при нормальном форматировании?
      Если говно только в том, что написано в строчку, то это не круто.
      Ответить
      • елочкой ... таки .... выглядит совсем уныло... а цимис не в сторочках... а внутри их - забавный контроль "60"... с учётом того, что штатной функции округления нету.... а принтф очень даже круглит при форматном выводе.... просто раз уж используется спритнф - дык можно с 4-ой строки в одну свернуться.... а почему выклал - дык не смотря на нагромождение - таки работает, что удивительно....
        Ответить
      • Лучше бы нормально отформатировал хотя бы, а то уныло.
        Ответить
        • неа... не помогло-бы.... я вообще восхищён реакцией.... то что я сие поделие выклал именно на ГОВНОНОкод, разве не показывает моё отношение к тексту?... грустно мне какашку под стандартный калибр подгонять... я просто удивлён, что люди цепляются к формату, к названиям переменных и не видят изумительного вонючего двойного цикла...

          кстати,... ежели есть кто не понямши ... фигня эта нужна для перевода градусей с долями (иль часов) в градусы минуты секунды, и доли оных ... коварный принтф при форматном выводе округляет эти самые доли до заказанного знака... и легко получить 60 секунд, вот отсюда и изгиб... какашечный но имеющий смысл.... ибо 12г 59 м 59.99556755с, например, никогда не превратится 12г 59м 60 с при любом заказанном формате (количестве разрядов долей секунд т.е.)...
          Ответить
          • Потому что тут этот двойной цикл хрен увидишь. Когда говнокод выкладываешь, лишнее вырезай, чтобы осталась суть.
            Ответить
          • а я вижу тока страшного многобуква.
            как-то сразу очень не хочется разбираться в смысле.
            Ответить
          • идет while() {}, а после него for() {}
            двойной цикл где?
            Ответить
            • дык не вложенный-ж... двойной-ж... сначала туда, потом обратно... а ведь можно без циклов обойтись... и без трети ифов... и без степени... и без груды интовых переменных... и в концовке можно быть не столь прямолинейным...

              что-ж до многобуквия.... дык... коварная штука - контекст... очень из неё сложно "смешное" отковырять... в данной реализации оно (смешное) необходимо.... такая вот реализация...
              Ответить
              • можно.
                и если бы автор бы сделал все пральна, то тогда, очевидно, обсуждаемый код никогда бы не оказался на говнокоде.
                Ответить

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