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

    +166

    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
    void СSomeClass::InternalRemovePath( QString qsPath, int pUIModule )
    {
      QProgressDialog * pDlg = (QProgressDialog *)pUIModule;
    ...................
    }
    .......................
    void someFunction ()
    {
    ..................
    QProgressDialog * pProgress = NULL;
    pProgress = new QProgressDialog( QObject::tr( "Deleting...") , QObject::tr( "Abort" ), 0, nTotal, NULL );
    InternalRemovePath( qsPath , (int) pProgress );
    ..................
    }

    И по коду таких вещей (приведение указателей к int при передаче в функции) очень много. Пока собрал проект, задолбался.
    Интересно, что автор курил? Хотя, нет - тут уже что-то потяжелее.

    panter_dsd, 23 Марта 2011

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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #define		DEFAULT_TIMEOUT				30000
    ................................................
    class CSettings //: public QSettings 
    {
    ................................................
      static QVariant             svalue( QString qs, QVariant defValue );
    ................................................
    };
    ................................................
    QString qs = QString("%1").arg( DEFAULT_TIMEOUT );
    m_nTimeout = CSettings::svalue("connection/Timeout", qs.toAscii().data()).toString().toInt();

    panter_dsd, 22 Марта 2011

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

    +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
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    	const int hz_limit = 20000;
    	string str;
    	string str_mass[] = {"a", "b", "ais", "h", "ces", "c", "his", "cis", "des",
    		"d", "dis", "es", "e", "fes", "f", "eis", "fis", "ges", "g", "gis", "as"};
    	begin:
    	while (cin>>str)
    	{
    		for (size_t ix = 0; ix != str.size(); ++ix)
    		{
    			str[ix] = tolower(str[ix]);
    		}
    		size_t f = 0;
    		for (size_t ix = 0; ix != 21; ++ix)
    		{
    			if(str == str_mass[ix])
    			{
    				f = ix;
    			}
    		}
    		if (str != str_mass[f])
    		{
    			goto begin;
    		}
    		double mass[] = {27.500, 29.135, 29.135, 30.868, 30.868, 32.703, 32.703, 34.648, 34.648,
    		36.708, 38.891, 38.891, 41.203, 41.203, 43.654, 43.654, 46.249, 46.249, 48.999, 51.913, 51.913};
    		for (; mass[f] < hz_limit; mass[f] *= 2)
    			{
    				cout<<mass[f]<<" Hz"<<endl;
    			}
    	}
    	return 0;
    }

    Моя первая прога. Выводит частоты на которых находится введенная нота...

    Extrawelt, 21 Марта 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    bool DoYouWannaRealyDoThisFunctionYesNo(T*(f)(T...), bool answer)
    {
    	return answer;
    }

    Microsoft style

    semens, 21 Марта 2011

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

    +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
    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
    bool Document::_Parse_Auto (char sym)
    	{
    		bool error = 0;
    
    		switch (mInfo.AutoState)
    		{
    		case 0:
    			{
    				if (is_stag (sym))
    					mInfo.AutoState = 1;
    				else
    					mInfo.AutoState = 14;
    				break;
    			}
    		case 1:
    			{
    				if (is_name (sym))
    					mInfo.AutoState = 24;
    				else if (is_delim (sym))
    					mInfo.AutoState = 2;
    				else if (is_prcom (sym))
    					mInfo.AutoState = 11;
    				else if (is_info (sym))
    					mInfo.AutoState = 25;
    				else if (is_ekey (sym))
    					mInfo.AutoState = 21;
    				else
    					error = true;
    				break;
    			}
    <100500 строк case'ов>
    		case 26:
    			{
    				if (is_etag (sym))
    					mInfo.AutoState = 0;
    				else
    					error = true;
    				break;
    			}
    		}
    
    		return error;
    	}
    
    	void Document::_Parse_React (char sym)
    	{
    		switch (mInfo.AutoState)
    		{
    		case 0:
    			{
    				switch (mInfo.NodeType)
    				{
    				case ParseInfo::preproc:
    					{
    						delete mInfo.CurrentNode;
    						mInfo.CurrentNode = mInfo.LastTextNode;
    						break;
    					}
    				case ParseInfo::info:
    					{
    						delete mInfo.CurrentNode;
    						mInfo.CurrentNode = mInfo.LastTextNode;
    						break;
    					}
    				case ParseInfo::close:
    					{
    						
    						if (mInfo.name == mInfo.CurrentNode->name)
    							mInfo.CurrentNode = mInfo.CurrentNode->parent;
    						else
    						{ mInfo.Error = 51; return; }
    
    						mInfo.name.clear ();
    						break;
    					}
    				}
    				break;
    			}
    <ещё 100500 строк case'ов>
    		case 25:
    			{
    				mInfo.NodeType = ParseInfo::info;
    				mInfo.LastTextNode = mInfo.CurrentNode;
    				mInfo.CurrentNode = new Node;
    				break;
    			}
    		}
    
    		switch (mInfo.LastAutoState)
    		{
    <и ещё 100500 строк case'ов>

    Это я в 10 классе писал XML парсер, работающий на конечном автомате, в котором было 27 состояний.

    YuraTim, 20 Марта 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    const QColor * c = & QColor.red;
    const QColor * c = & QColor.rgb(12,12,12);
    const QColor * c = & int QColor::red () const;
    const int * c = & int QColor::red () const;

    Взято отсюда: http://www.prog.org.ru/topic_16855_0.html
    Особенно радует фраза: "Пробовал так <....> И другими способами, на которые вылетало множество ошибок".

    TarTar, 19 Марта 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    void Draw_Pixel_Memset(UINT color,    //color = _RGB32BIT(a,r,g,b) ((b) + ((g) << 8) + ((r) << 16) + ((a) << 24))
                          UINT *buffer){ //buffer =  (UINT*) ddsd.lpSurface
      memset(buffer, color,8); 
    }

    Рисование пикселя с помощью meset()

    Подскажите, пожалуйста, почему при использование этой функции в 32 битном режиме точка получается какового то серого цвета.
    С другой стороны если использовать 8 битный режим то пиксель будет нужного цвета.

    Источник: http://www.gamedev.ru/code/forum/?id=145274

    TarasB, 19 Марта 2011

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

    +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
    #include <iostream>
    using namespace std;
    void main()
    {
        char U='#';
    int K;
        _asm
        {
            mov eax, 0
            mov al, U
            mov K,eax
        }
        cout<<K<<endl;
    }

    "Получение десятичного представления числа". C wasm.ru

    rat4, 18 Марта 2011

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

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    PopupWindow* GameLocations::getCurrentPopup()
    {
    	if(m_curPopup != nullptr && m_curPopup->needsClose())
    	{
    		m_curPopup->onClose();
    		m_curPopup = nullptr;
    		m_walker->BeginWalk(m_graph->getClosestNode(m_currentLocationId));
    	}
    	return m_curPopup;
    }

    Kirinyale, 18 Марта 2011

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    __int64 timestamp;
    
    	// Get nanoseconds since 1601
    	timestamp = rand() + (((__int64)rand()) << 32);
    	timestamp /= 100;

    очень вольная работа со временем...

    kubrinsky, 16 Марта 2011

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