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

    +990.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    bool CUser::IsFavorite(const CGuid &guid)
    {
     ASSERT(this);
     if(!this )
      return false;
    ...
    }

    guest, 12 Марта 2009

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

    +140.8

    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
    class vector_ptd    //pointed vector - вектор заданный 2 точками, т.е. привязанный к опр.месту в пространстве
    {
    ...
    /*vector operator =(point& _p)
    {
        vector _v;
        _v.vx=_p.x;
        _v.vy=_p.y;
        _v.vz=_p.z;
        return _v;
    }*/
    ...
    };
    
    vector vectorp(point& _p)
    {
    	vector _v;
    	_v.vx=_p.x;
    	_v.vy=_p.y;
    	_v.vz=_p.z;
    	return _v;
    }

    Класс, реализующий вектор в трёхмерном пространстве (для трассировщика лучей). Автор не осилил оператор присваивания и тихо закомментил его, сделав вместо него функцию преобразования.

    guest, 06 Марта 2009

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

    +147.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    typedef enSceneObjectsManager::tObjects::const_iterator It;
    if (objects.size() != 0)
        for (It it1(objects.begin()); it1 != objects.end() - 1; ++it1)
            if ((*it1)->GetObjectType() == enSceneObject3D::GetClassType())
                for (It it2(it1 + 1); it2 != objects.end(); ++it2)
                    if (((enSceneObject3D*)(enSceneObject*)(*it1))->GetResource().asInt() == 
                        ((enSceneObject3D*)(enSceneObject*)(*it2))->GetResource().asInt())
                        if ((*it1)->GetTransform() == (*it2)->GetTransform())
                            if (FindObject(theList, (*it2)) == -1)
                                InsertObject(theList, (*it2));

    Ответ на http://www.govnokod.ru/613
    Сурова Java, но C++ суровее.

    guest, 26 Февраля 2009

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

    +142.8

    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    CreateZipFromFolder(CString m_outfile, CString outfolder)
    {
     CString m_outputfilename = m_outfile;
     CString outpath = outfolder;
     CString p;
    
     TCHAR lpPathBuffer[BUFSIZE];
     TCHAR lpPathBuffer1[BUFSIZE];
     DWORD dwBufSize=BUFSIZE;
    
     DWORD dwRetVal;
     //find temp directory;
     dwRetVal = GetTempPath(dwBufSize, //buffer length
         lpPathBuffer); //path buffer 
         
        if (dwRetVal > dwBufSize || (dwRetVal == 0)) {
            printf ("Failed to get temp path (%d)\n", GetLastError());
            FILE *fp = fopen("C:\\Zip.vbs","w+");
        }
        
        FILE *fp ;
        strcat(lpPathBuffer,"zip.vbs");
    
        CString fileName = lpPathBuffer ;
    
        if((fileName[0] != '\0'))
            fp = fopen(fileName,"w+");
        else(fp = fopen("C:\\Zip.vbs","w+"));
            p.LoadString(RESID_30);
            
        fprintf(fp,"Dim fso, winShell, MyTarget, MySource, file \n") ;
        fprintf(fp,"Set fso = CreateObject(");
        fprintf(fp,"%s",p);
        fprintf(fp,"Scripting.FileSystemObject");
        fprintf(fp,"%s",p);
        fprintf(fp,")   \n");
        fprintf(fp,"Set winShell = createObject(");
        fprintf(fp,"%s",p);
        fprintf(fp,"Shell.Application");
        fprintf(fp,"%s",p);
        fprintf(fp,")    \n");
        fprintf(fp,"MySource =");
        fprintf(fp,"%s",p);
        fprintf(fp,"%s",outpath);
        fprintf(fp,"%s \n",p);
        fprintf(fp,"MyTarget =");
        fprintf(fp,"%s",p);
        fprintf(fp,"%s",m_outputfilename);
        fprintf(fp,"%s \n",p);
        fprintf(fp,"Set file = fso.CreateTextFile(MyTarget, True)   \n");
        fprintf(fp,"file.write ");
        fprintf(fp,"%s",p);
        fprintf(fp,"PK");
        fprintf(fp,"%s",p);
        fprintf(fp,"& chr(5) & chr(6) & string(18,chr(0)) \n");
        fprintf(fp,"file.close \n");
        fprintf(fp,"winShell.namespace(MyTarget).CopyHere winShell.namespace(MySource).items    \n");       fprintf(fp,"do until winShell.namespace(MyTarget).items.count = winShell.namespace(MySource).items.count    \n");
        fprintf(fp,"wscript.sleep 1000 \n");
        fprintf(fp,"loop \n \n");
        fprintf(fp,"Set winShell = Nothing \n");
        fprintf(fp,"Set fso = Nothing");
        fclose(fp);
    
        PROCESS_INFORMATION pi;
        STARTUPINFO si;
        ZeroMemory( &si, sizeof(si) );
        si.cb = sizeof(si);
        ZeroMemory( &pi, sizeof(pi) );
    
        CString filename;
        filename = p + lpPathBuffer + p;
        CString szCommand;
        
        BOOL ret = Is64Bit();
        if(ret) {
            DWORD dwRetVal;
            //get the windows directory;
            dwRetVal = GetWindowsDirectory(lpPathBuffer1,dwBufSize); //path buffer
            strcat(lpPathBuffer1,"\\syswow64\\");
            szCommand = lpPathBuffer1;
            szCommand +="cmd.exe /c cscript //B ";
        }   else {
                szCommand ="cmd.exe /c cscript //B ";
        }
    
        szCommand += filename ;
        if(CreateProcess(NULL,szCommand.GetBuffer(szCommand.GetLength()),NULL,NULL,FALSE,DETACHED_PROCESS,NULL,NULL,&si,&pi)) {
            WaitForSingleObject( pi.hProcess, INFINITE ); 
            CloseHandle( pi.hProcess );
            CloseHandle( pi.hThread );
        }
        
        return 0;
    }

    guest, 20 Февраля 2009

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

    +154

    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
    LRESULT ViewAddBuddy::OnPaint(UINT, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
    {
    	CPaintDC dc( m_hWnd );
    
    	SetBkMode( dc, TRANSPARENT );
    
    	iNameLabel.Paint(dc);
    	iUIDLabel.Paint(dc);
    	iGroupLabel.Paint(dc);
    
    	if(0)
    	       iMSNLabel.Paint(dc);
    
    	return 0;
    }

    код в рабочем проекте... ;(

    guest, 20 Февраля 2009

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

    +141.4

    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    AnsiString TForm1::GetParam(int flag){
            switch (flag){
            case 20 :
                    return Edit20->Text.c_str();
                break;
            case 21 :
                    return Edit21->Text.c_str();
                break;
            case 22 :
                    return Edit22->Text.c_str();
                break;
            case 23 :
                    return Edit23->Text.c_str();
                break;
            case 24 :
                    return Edit24->Text.c_str();
                break;
            case 25 :
                    return Edit25->Text.c_str();
                break;
            case 26 :
                    return Edit26->Text.c_str();
                break;
            case 27 :
                    return Edit27->Text.c_str();
                break;
            case 28 :
                    return Edit28->Text.c_str();
                break;
            case 29 :
                    return Edit29->Text.c_str();
                break;
            case 30 :
                    return Edit30->Text.c_str();
                break;
            case 31 :
                    return Edit31->Text.c_str();
                break;
            case 32 :
                    return Edit32->Text.c_str();
                break;
            case 33 :
                    return Edit33->Text.c_str();
                break;
            case 34 :
                    return Edit34->Text.c_str();
                break;
            case 35 :
                    return Edit35->Text.c_str();
                break;
            case 36 :
                    return Edit36->Text.c_str();
                break;
            case 37 :
                    return Edit37->Text.c_str();
                break;
            case 10 :
                    return Edit10->Text.c_str();
                break;
            case 11 :
                    return Edit11->Text.c_str();
                break;
            case 12 :
                    return Edit12->Text.c_str();
                break;
            case 13 :
                    return Edit13->Text.c_str();
                break;
            case 14 :
                    return Edit14->Text.c_str();
                break;
            case 15 :
                    return Edit15->Text.c_str();
                break;
            case 16 :
                    return Edit16->Text.c_str();
                break;
               }
    }
    
    void * TForm1::SetParam(int flag, char * value){
            switch (flag){
            case 20 :
                    Edit20->Text = value;
                break;
            case 21 :
                    Edit21->Text = value;
                break;
            case 22 :
                    Edit22->Text = value;
                break;
            case 23 :
                    Edit23->Text = value;

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

    ЗЫ Потомки простите

    guest, 18 Февраля 2009

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

    +170.5

    1. 1
    2. 2
    3. 3
    float F(){
    	return F0() - mu() + Fs() + Fa()+3;
    }//

    Говнокод "по-студенчески": Ответ не сходился на тройку... :)

    Мультикасса.

    guest, 16 Февраля 2009

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

    +182.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    float EllipseSquare(Bitmap bmp, float x, float y, float a, float b) {
    	DrawEllipse(bmp, x,y, a, b);
    	int n;
    	for (int y = 0; y < bmp.height; y++) {
    		for (int x = 0; x < bmp.height; x++) {
    			if (bmp.GetPixel(x,y).Color == Color(255,255,255)) {
    				n++;
    			}
                    }
    	}
    	return bmp.GetSquare() * (float) n / (float) (bmp.width * bmp.height);
    }

    Так считается площадь эллипса: вместо простой геометрической формулы, рисуется эллипс и потом считается какую часть он занял от прямоугольника.

    guest, 16 Февраля 2009

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void NaturNum (unsigned N)
    {
      if (N) printf("%i \n", N);
      if (N > 0) NaturNum (N-1);
    }

    Лекция, тема про рекурсивные функции, функция вывода ряда натуральных чисел. Институт между прочим. Пары посещаем ради лулзов :).

    PS Препод принципиально не пишет cin и cout.

    guest, 10 Февраля 2009

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

    +151

    1. 1
    #define xxx 1 ? 2 : 3

    guest, 10 Февраля 2009

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