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

    +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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    //перевод целого числа в строку
    	//num-число
    	//nn-длина поля
    	char* num10toc(int num, int nn=4)
    	{
    		int i;
    		int sgmin=0;
    		int	xnum=num;
    		char* p=lnum;
    		if (xnum<0) 
    		{
    			sgmin=1;
    			xnum=-xnum;
    
    		}
    		memset(lnum,0,WMAX+1);
    		memset(lnum,0x20,WMAX);
    		i=lenint(xnum);
    		int j=i;
    		int mm=nn-i-sgmin;
    		if (mm>0)
    		{
    			p+=mm;
    		}
    		if (sgmin!=0)
    		{
    			*p='-';
    			p++;
    		}
    		if (xnum==0)
    		{
    			*p='0';
    			return &lnum[0];
    		}
    		while (xnum>0)
    		{
    			*(p+i-1)=(char)(xnum%10+0x30);
    			xnum/=10;
    			i--;
    		}
    		*(p+j)=0;
    		return &lnum[0];
    	}

    Загадка: что выведется в следующих случаях?

    printf("%s\n", num10toc(0, 5));
    printf("%s\n", num10toc(1, 5));
    printf("%s\n", num10toc(12, 5));
    printf("%s\n", num10toc(123, 5));
    printf("%s\n", num10toc(1234, 5));
    printf("%s\n", num10toc(12345, 5));
    printf("%s\n", num10toc(123456, 5));

    glprizes, 01 Февраля 2011

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

    +163

    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
    #define nCyrLang 40
    
    char CyrNumLang[nCyrLang];
    
    memset(&CyrNumLang[0],0,nCyrLang);
    
    CyrNumLang[1]=7;
    CyrNumLang[2]=9;
    CyrNumLang[3]=11;
    CyrNumLang[4]=83;
    CyrNumLang[5]=84;
    CyrNumLang[6]=85;
    CyrNumLang[7]=86;
    CyrNumLang[8]=44;
    CyrNumLang[9]=87;
    CyrNumLang[10]=48;
    CyrNumLang[11]=88;
    CyrNumLang[12]=89;
    CyrNumLang[13]=53;
    CyrNumLang[14]=56;
    CyrNumLang[15]=6;

    Труъ способ инициализации массивов.

    glprizes, 01 Февраля 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    QTime time;
        time.start();
    
        for (int i = 0; i < 100; ) {
            if (time.elapsed() > 10) {
                time.start();
                ++i;
            }
        }

    Организация задержки.

    jalil, 31 Января 2011

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

    +158

    1. 1
    2. 2
    lblSoundBar = new render::gui::BitmapLabel(strings::StaticString(L"Music"), GameFonts::instance().getGUIFont(), math::float2(380.0f, 225.0f), 0xFFFFFFFF, 1.0f, 0.0f);
    lblMusicBar = new render::gui::BitmapLabel(strings::StaticString(L"Sound"), GameFonts::instance().getGUIFont(), math::float2(380.0f, 315.0f), 0xFFFFFFFF, 1.0f, 0.0f);

    Kirinyale, 31 Января 2011

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

    +167

    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
    bool c=(a>=4 && a<=9);
    switch(c)
    {
      case true:
              {
                      cout<<"yes"<<endl;
                      break;
              }
      case false:
              {
                      cout<<"No"<<endl;
                      break;
              }
    }

    qbasic, 31 Января 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void WaitExit()
    {
        char p;
        std::cout << "\nPlay some melody on keyboard and press [ENTER] for EXIT" << std::endl;
        std::cin >> p;
    }

    Play some melody..

    IkSin, 28 Января 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void GLCommon::Click(TObject *Sender, TMouseButton _button, bool _notActually)
    {
    	MouseDowned = false;
    
    	// waiting dbl click
    	if (_notActually)
    	{
    		...

    Иногда click, а иногда понарошку.

    zagzag, 28 Января 2011

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

    +162

    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
    QString calcFileSize( qint64 value ) 
    {  //pay attention that for size<1M "" returned
    	QString sizeStr = "";
    	if (value > 99ll * 1000ll * 1000ll * 1000ll * 1000ll)
    		sizeStr = QString::number ((((value / 1000) / 1000) / 1000) / 1000) + QObject::tr (" TB");
    	else if (value > 99ll * 1000ll * 1000ll * 1000ll)
    		sizeStr = QString::number (((value / 1000) / 1000) / 1000) + QObject::tr (" GB");
    	else if (value > 99 * 1000 * 1000)
    		sizeStr = QString::number (((value / 1000) / 1000)) + QObject::tr (" MB");
    	else if (value > 99 * 1000)
    		sizeStr = QString::number ((value / 1000) ) + QObject::tr (" KB");
    	else
    		sizeStr = QString::number (value) + QObject::tr (" Bytes");
    	return sizeStr;
    }

    Без слов.

    panter_dsd, 26 Января 2011

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    template <typename T> struct Rect : public ICollidable<T>  {
                T top, left, width, height;
    ...
                Rect(T _top, T _left, T w, T h)
                : top(_top)
                , left(_left)
                , width(w)
                , height(h)
                {};
    ...
    };

    Не расслабляемся: естественный порядок аргументов - это для ламеров!

    Kirinyale, 25 Января 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    CTvoid cSG5Exception::Get (CTstatus& Status,
                               CTsymbol& Error,
                               CTsymbol& SubError,
                               string& Description)
    {
       if (Description.c_str() != NULL) {
           Description = m_description;
       }
       Status = m_status;
       Error = m_error;
       SubError = m_subError;
    }

    итолианский с++ панимаш, рагацци.
    что они хотели в строках 6-8 сказать кануло в лету.
    и вместо 4 человеческих геттеров один бесполезный заху*чили. (бесполезный тем что четыре переменные всегда надо под рукой иметь.)

    Dummy00001, 24 Января 2011

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