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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    bool ChatHandler::HandleNpcYellCommand(const char* args)
    {      
    
    if (!*args)
    return false;
    ...
    }

    hromjo, 25 Мая 2010

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

    +153

    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
    switch(num_q)
    			{
    				case 0: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    				case 1:	if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true ; break;
    				case 2: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    				case 3: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true; break;
    				case 4: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true; break;
    				case 5: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true; break;
    				case 6: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true; break;
    				case 7: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true; break;
    				case 8: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true; break;
    				case 9: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    				case 10: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    				case 11: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    				case 12: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    				case 13: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    				case 14: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q]= true; break;
    				case 15: if(Terminated)MForm->term[num_q] = true;
    						else MForm->pausa[num_q] = true; break;
    			}

    ночью надо спать...

    o_jumi, 23 Мая 2010

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

    +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
    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
    char Sort(char Type, int l, int r)
    {
      int i = l, j = r;
      char x[31];
      void *y = 0;
      setmem(x, 31, 0);
      strcpy(x, ((TData*)(DataLists[CurrentList][(l+r)/2]))->Data[CurrentCol-1]);
      do
      {
        if (Type==UP)
        {
          switch(CurrentCol)
          {
    	case 1: case 2:
    	  while (strcmp(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1], x) < 0)
    	    ++i;
    	  while (strcmp(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1], x) > 0)
    	    --j;
    	  break;
    	default:
    	  while (atoi(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1])<atoi(x))
    	  ++i;
    	  while (atoi(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1])>atoi(x))
    	  --j;
          }
        }
        else
        {
          switch(CurrentCol)
          {
    	case 1: case 2:
    	  while (strcmp(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1], x) > 0)
    	    ++i;
    	  while (strcmp(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1], x) < 0)
    	    --j;
    	  break;
    	default:
    	  while (atoi(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1])>atoi(x))
    	    ++i;
    	  while (atoi(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1])<atoi(x))
    	    --j;
          }//switch
        }//if
        if (i<=j)
        {
          y = DataLists[CurrentList][i];
          *(DataLists[CurrentList].GetPointerToData(i)) = DataLists[CurrentList][j];
          *(DataLists[CurrentList].GetPointerToData(j)) = y;
          ++i, --j;
        }
      }
      while (i<=j);
        if (l<j)
        {
          if (Type==UP)
    	Sort(UP, l, j);
          else
    	Sort(DOWN, l, j);
        }
      if (i<r)
      {
        if (Type==UP)
          Sort(UP, i, r);
        else
          Sort(DOWN, i, r);
      }
    return 1;
    }

    По-моему, это должна была быть сортировка Хоара, а получилось говно. Самое странное - это то, что оно работает...

    Max ID, 21 Мая 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void main(void)
    {
      int s, e, x, y, n, i, g, e, r, s;
      // действия с вышеобъявленными переменными
      return;
    }

    Max ID, 21 Мая 2010

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class Massiv{
          int *a;
    public:
           void Sozd(int k);
    };
    
    void Massiv::Sozd(int k)
    {
         a=(int *) malloc (sizeof(int) * (k+3));
    }

    У меня будет свой конструктор!

    kir_rik, 20 Мая 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public bool IsDeleted
            {
                get { return _isDeleted; }
                set { _isDeleted = true; }
            }

    удалить то удалил, а вот IsDeleted = false удачи =)

    ksis.poit, 20 Мая 2010

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

    +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
    class Node{
    private:
    	int _data;
    	Node *  _next;
    
    public: 
    	Node(int data): _next(0), _data(data){};
    
    	int getData() const {return _data;}	
    	void setData(int value) {_data = value;}
    
    	Node * getNextNode() const {return _next;}
    	void setNextNode(Node * nextNode) {_next = nextNode;}
    };

    Нашел на страницах пастбина.

    hromjo, 19 Мая 2010

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

    +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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       bool Valid = true;
       bool f1;
       bool f2;
       unsigned step = 0;
       for( bool x1=false; x1<2; x1++ )
          for( bool x2=false; x2<2; x2++ )
             for( bool x3=false; x3<2; x3++ )
                for( bool x4=false; x4<2; x4++ )
                   for( bool x5=false; x5<2; x5++ )
                      for( bool x6=false; x6<2; x6++ )
                         for( bool x7=false; x7<2; x7++ )
                            for( bool x8=false; x8<2; x8++ )
                               for( bool x9=false; x9<2; x9++ )
                                  for( bool x10=false; x10<2; x10++ )
                                     for( bool x11=false; x11<2; x11++ )
                                        for( bool x12=false; x12<2; x12++ )
                                           for( bool x13=false; x13<2; x13++ )
                                              for( bool x14=false; x14<2; x14++ )
                                                 for( bool x15=false; x15<2; x15++ )
                                                 {
       step++;                                             
       f1 = ( x1 && x2 || x3 && x4 || x5 && x6 && x7 || x8 && x9 && x10 ) && ( !x11 || x12 && x13 || x14 && x15 );
       f2 = (!(!x1 || !x2) || !(!x3 || !x4) || !(!x5 || !x6 || !x7) || !(!x8 || !x9 || !x10)) && ( !(!x14 || !x15) || !x11 || !(!x12 || !x13) );
       if ( f1 != f2 ) Valid = false; break;
                                                 }
       if( Valid ) Application->MessageBox( "Функции идентичны", "Функции идентичны", MB_OK );
       else Application->MessageBox( "NOT Valid", IntToStr(step).c_str(), MB_OK );
    
    }

    Проверка идентичности логических функций путем перебора аргументов.

    absolut, 19 Мая 2010

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

    +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
    void __fastcall TMainForm::TimerCheckForPowerOffTimeTimer(TObject *Sender)
    {
       // Обновление текущего времени/дня недели
       eDayOfToday->Text = FormatDateTime("dddd", Now() );
       DateTimePickerCurrentTime->DateTime = Now();
    
       static already = false; // процесс выключения начался
       if( !CheckBox1->Checked ) already = false;
       if( CheckBox1->Checked && !already ) // первое срабатываение таймера по времени
       {
          AnsiString TimeString = TimeToStr(TTime::CurrentTime());
          bool  TimeToPowerOff = false;
    
          if( cbAllDay->Checked )
          {
             TimeToPowerOff = ( TimeToStr(DateTimePickerAllday->Time) == TimeString );
          }
          else
          {
             switch( DayOfWeek( Now() ) )
             {
                case SUNDAY:
                {
                   if( cbSunday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerSunday->Time) == TimeString );
                   }
                   break;
                }
                case MONDAY:
                {
                   if( cbMonday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerMonday->Time) == TimeString );
                   }
                   break;
                }
                case TUESDAY:
                {
                   if( cbTuesday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerTuesday->Time) == TimeString );
                   }
                   break;
                }
                case WEDNESDAY:
                {
                   if( cbWednesday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerWednesday->Time) == TimeString );
                   }
                   break;
                }
                case THURSDAY:
                {
                   if( cbThursday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerThursday->Time) == TimeString );
                   }
                   break;
                }
                case FRIDAY:
                {
                   if( cbFriday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerFriday->Time) == TimeString );
                   }
                   break;
                }
                case SATURDAY:
                {
                   if( cbSaturday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerSaturday->Time) == TimeString );
                   }
                   break;
                }
             } // switch
          } // else cbAllDay->Checked
    
          if( TimeToPowerOff )
          {
             already=true;
             SetPermission();
             ShutDownPC();
          }
       } // первое срабатывание
    }

    Вырезка из программы для выключения питания компа. Данная функция вызывается по таймеру, раз в 900 мс :)
    Совпадение времен проверяется сравнением их строкового представления. Ну и в довесок, однообразный код в switch().

    absolut, 19 Мая 2010

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    MyClass * obj = (MyClass*)true;
    while (obj)
    {
        obj = GetObj();
        // ...
    }

    glook, 18 Мая 2010

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