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

    +144

    1. 1
    2. 2
    int a;
    if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

    fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
    MSVS 2010; C++ win32 console

    Ivan0x32, 16 Сентября 2010

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

    +165

    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
    case  KEY_F9: {
    			if ( !strcmp( chlist->gettype(), "ethernet" ) ) {
    				/* Редактор канала Ethernet */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "/m.cfg", buf );
    				//
    				tethcfgedit* edit = new tethcfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gprs" ) ) {
    				/* Редактор канала GPRS */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgprscfgedit* edit = new tgprscfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gsm" ) ) {
    				/* Редактор канала GSM */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgsmcfgedit* edit = new tgsmcfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gsppp" ) ) {
    				/* Редактор канала GS (пакетный) */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgspppcfgedit* edit = new tgspppcfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gs" ) ) {
    				/* Редактор канала GS (прямой) */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgscfgedit* edit = new tgscfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "radio" ) ) {
    				/* Редактор канала радиомодема */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tradiocfgedit* edit = new tradiocfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(),"cbs" ) ) {
    				/* Редактор канала Ethernet */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR,"",buf );
    				//
    				tcbscfgedit* edit=new tcbscfgedit( getscr(),buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "ptsn" ) ) {
    				/* Редактор канала GSM */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tptsncfgedit* edit = new tptsncfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			}
    ......

    Кусок case'a, где запускается редактор настроек соотвествующего канала связи. Код из одной встроенной железки.

    vollmond, 11 Сентября 2010

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

    +151

    1. 1
    2. 2
    3. 3
    char line[10];
    cout<<"Press any key to exit"<<endl;
    cin.getline(line,9);

    Очередной перл из решений кандидатских задач.
    Видимо в военное время количество символов, генерируемых одной клавишей, может достигать 9. :)

    Lexey, 09 Сентября 2010

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

    +155

    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
    typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING344 : boost::mpl::assert_ {
    
      static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
        return 0;
      }
    } mpl_assert_arg344;
    
    typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING375 : boost::mpl::assert_ {
    
      static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
        return 0;
      }
    } mpl_assert_arg375;
    
    template< typename Pred >
    failed ************ (Pred::************
      assert_arg(void (*)(Pred), typename assert_arg_pred<Pred>::type)
      );
    
    template< typename Pred >
    failed ************ (boost::mpl::not_<Pred>::************
      assert_not_arg(void (*)(Pred), typename assert_arg_pred_not<Pred>::type)
      );

    В том что boost'овские библиотеки достаточно хорошо оптимизированы я не сомневаюсь, но от некоторых конструкций я просто охреневаю...

    rudvil, 08 Сентября 2010

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

    +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
    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
    int main(int argc, char* argv[])
    {
    // Массив русских букв:
            char c[33], s[33];
    // Заглавные буквы:
            c[0] = 0x80; // А
            c[1] = 0x81; // Б
            c[2] = 0x82; // В
            c[3] = 0x83; // Г
            c[4] = 0x84; // Д
            c[5] = 0x85; // Е
            c[6] = 0x86; // Ж
            c[7] = 0x87; // З
            c[8] = 0x88; // И
            c[9] = 0x89; // Й
            c[10] = 0x8A; // К
            c[11] = 0x8B; // Л
            c[12] = 0x8C; // М
            c[13] = 0x8D; // Н
            c[14] = 0x8E; // О
            c[15] = 0x8F; // П
            c[16] = 0x90; // Р
            c[17] = 0x91; // С
            c[18] = 0x92; // Т
            c[19] = 0x93; // У
            c[20] = 0x94; // Ф
            c[21] = 0x95; // Х
            c[22] = 0x96; // Ц
            c[23] = 0x97; // Ч
            c[24] = 0x98; // Ш
            c[25] = 0x99; // Щ
            c[26] = 0x9A; // Ъ
            c[27] = 0x9B; // Ы
            c[28] = 0x9C; // Ь
            c[29] = 0x9D; // Э
            c[30] = 0x9E; // Ю
            c[31] = 0x9F; // Я
            c[32] = 0xF0; // Ё
    // Прописные буквы:
            s[0] = 0xA0; // а
            s[1] = 0xA1; // б
            s[2] = 0xA2; // в
            s[3] = 0xA3; // г
            s[4] = 0xA4; // д
            s[5] = 0xA5; // е
            s[6] = 0xA6; // ж
            s[7] = 0xA7; // з
            s[8] = 0xA8; // и
            s[9] = 0xA9; // й
            s[10] = 0xAA; // к
            s[11] = 0xAB; // л
            s[12] = 0xAC; // м
            s[13] = 0xAD; // н
            s[14] = 0xAE; // о
            s[15] = 0xAF; // п
            s[16] = 0xE0; // р
            s[17] = 0xE1; // с
            s[18] = 0xE2; // т
            s[19] = 0xE3; // у
            s[20] = 0xE4; // ф
            s[21] = 0xE5; // х
            s[22] = 0xE6; // ц
            s[23] = 0xE7; // ч
            s[24] = 0xE8; // ш
            s[25] = 0xE9; // щ
            s[26] = 0xEA; // ъ
            s[27] = 0xEB; // ы
            s[28] = 0xEC; // ь
            s[29] = 0xED; // э
            s[30] = 0xEE; // ю
            s[31] = 0xEF; // я
            s[32] = 0xF1; // ё
    // Конец массива.
    
            cout << c[21] << s[14] << "-" << s[21] << s[14] << "!\n"; // Хо-хо!
    
            getch();
            return 0;
    }

    Когда я ещё не знал, как выводить в консоли русские буквы, спел и натанцевал индийский код.

    novemberdreamer, 08 Сентября 2010

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

    +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
    #include <iostream>
    using namespace std;
    void f(double *x1,double *x2,double *x3)
    {
    	if (((*x1>*x2)&&(*x1<*x3))||((*x1<*x2)&&(*x1>*x3)))
    		*x1=(*x2+*x3)/2;
    	if (((*x2>*x1)&&(*x2<*x3))||((*x2<*x1)&&(*x2>*x3)))
    		*x2=(*x1+*x3)/2;
    	if (((*x3>*x1)&&(*x3<*x2))||((*x3<*x1)&&(*x3>*x2)))
    		*x3=(*x2+*x1)/2;
    }
    int main()
    {
    	double x1,x2,x3;
    	cin>>x1>>x2>>x3;
    	double *y1=&x1;
    	double *y2=&x2;
    	double *y3=&x3;
    	f(y1,y2,y3);
    	cout<<x1<<' '<<x2<<' '<<x3;
    	return 0;
    }

    Креатив.

    Irdis, 06 Сентября 2010

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

    +156

    1. 1
    2. 2
    std::pair<std::vector<char>::const_iterator, unsigned int> parsedUnit = Utils::PackedUIntHelper::Unpack<unsigned char>(it);
    parsedUnit = Utils::PackedUIntHelper::Unpack<unsigned char>(parsedUnit.first);

    Представления потока данных итератором и чтение числа.

    enikey, 03 Сентября 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ( p->m_p ) 
    {
          m_p = p->m_p;
    }
    else 
    {
          m_p = NULL;
    }

    Мля, ну а вдруг

    J0hnny, 02 Сентября 2010

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

    +151

    1. 1
    typedef std::basic_string<unsigned short> wstring;

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

    DarthBobr, 31 Августа 2010

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

    +144

    1. 1
    2. 2
    int i = 1;
    int j = i++ + ++i;

    Инкремент-экскремент, чтобы враг не догадался, 3 или 4 это выражение возвращает.

    bugmenot, 31 Августа 2010

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