1. Лучший говнокод

    В номинации:
    За время:
  2. 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)
  3. C++ / Говнокод #9911

    +989

    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
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    stek* getLast(){
    	stek* result = first;
    	while (!isLast(*result)){
    		result = result->next;
    	}
    	return result;
    }
    void push( char* string ){
    	stek* anew = new stek;
    	anew->string = string;
    	anew->next = NULL;
    	anew->first = first;
    	getLast()->next = anew;
    }
    void printList(){
    	if (first != NULL){
    		stek* element = first;
    		puts( element->string );
    		while (!isLast(*element)){
    			element = element->next;
    			puts( element->string );
    		}
    	}
    	else{
    		puts( "List is empty" );
    	}
    }
    stek* getPrev( stek* element ){
    	stek* result = first;
    	while (result->next != element){
    		result = result->next;
    	}
    	return result;
    }
    void changeFirstInList( stek* newFirst ){
    	stek* element = first;
    	while (element != NULL){
    		element->first = newFirst;
    		element = element->next;
    	}
    }
    void deleteElement( stek* element )
    {
    	if ( element->first == element ){
    		first = element->next;
    		changeFirstInList( first );
    	}
    	else{
    		stek* prev = getPrev( element );
    		stek* next = element -> next;
    		prev->next = next;
    	}
    }
    void deleteElements( int length ){
    	stek* element = first;
    	while (element != NULL){
    		stek* next = element->next;
    		if (strlen(element->string) < length) {
    		    deleteElement( element );
    		}
    		element = next;
    	}
    }
    int _tmain(int argc, _TCHAR* argv[]){ 
    	char *token;
    	char st1[80];
    	int minLength = 4;
    	int n=0;
    	
    	printf("Enter string: ");
    	gets( st1 );
    	printf("Enter minimal length: ");
    	scanf( "%d", &minLength );
    
    	first=NULL;
    	first=new stek;
    	first->next=NULL;
    	first->first=first;
      token=strtok(st1," ");
      first->string=token;
      token=strtok(NULL," ");
      while( token != NULL){ 
    	push(token);;
    	token=strtok(NULL," ");
      }
      stek* element = first;
      while (element != NULL){
    	stek* next = element->next;
    	if (strlen(element->string)<3) n++;
    	element = next;
      }
      puts("Initial stack:");
      printList();
      deleteElements( minLength );
      printf("Slov dlinoi less than 3: %d\n",n);
      puts("After deleting:");
      printList();
      getch();
    }

    Лабораторная работа, написанная двумя студентами первого курса. Задание: "Дана строка 80 символов, разбить её на слова (разделитель - пробел), удалить слова меньше опр. длины и вывести количество слов с длиной меньше 3-ех".
    Почти каждая строчка в main'e - перл.
    З.Ы. Форматирование кода тоже доставляет.

    Fai, 10 Апреля 2012

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

    +989

    1. 1
    char* mData=new char[MAX_STRING_LENGTH+1];

    Кто сможет перечислить все ошибки в этом говнокоде?

    Говногость, 11 Ноября 2011

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

    +988

    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
    #include <iostream>
    #include <windows.h>
    using namespace std;
    
    unsigned long calculateTime( int, int );
    void turnOff();
    
    int main()
    {
        // вводим кол-во часов и минут, которые надо ждать
        int hours, minutes;
        cin >> hours >> minutes;
        
        // ждем нужное время
        unsigned long timer = calculateTime( hours, minutes );
        Sleep( timer );
        
        
        turnOff();          // выключаем компьютер
        return 0;
    }
    
    // подсчет кол-во миллисекунд в указанном времени
    unsigned long calculateTime( int hours, int minutes )
    {
        unsigned long timer = 0;
        
        timer += hours * 3600000;
        timer += minutes * 60000;
        
        return timer;
    }
    
    // выключение компьютера
    void turnOff()
    {
        WinExec( "shutdown -s -t 0", SW_HIDE );
    }

    Я сделал. Что-то вроде автовыключалки для компьютера.
    Разъясните, пожалуйста, где автор неправ и почему.

    vortexx1, 11 Марта 2012

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

    +987

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    enum State
    {
       NotOpened  = __LINE__;
       Waiting    = __LINE__;
       Opened     = __LINE__;
       Finished   = __LINE__;
       Terminated = __LINE__;
    };

    k06a, 14 Мая 2010

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

    +985

    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
    public void ptsb()      {
                DateTime NW = System.DateTime.Now;
                int gh = NW.Day + 1; 
                int hj = NW.Month;   
                int NG = NW.Year;
                bool vg = System.DateTime.IsLeapYear(NW.Year); 
                if (hj==2)                     {
                    if (vg)                    {
                    if (gh > 29)                {
                        gh = 1;     
                        hj = 3;                    } } 
                    if (gh > 28)                {
                        gh = 1;    
                        hj = 3;     
                    } }
                else{
                    if (hj == 4)                   {
                        if (gh > 30)
                        {
                            gh = 1;
                            hj = 5;                      } }
                    else                {
                        if (hj == 6)                     {
                            if (gh > 30)                        {
                                gh = 1;
                                hj = 7;                        } }
                        else
                        {
                            if (hj == 9)                          {
                                if (gh > 30)                            {
                                    gh = 1;
                                    hj = 10;  
                                } }
                            else    {
                                if (hj == 11)                             {
                                    if (gh > 30)                                {
                                        gh = 1;
                                        hj = 12;                                  } }
                                else  {
                                    if (gh > 31)                                 {
                                        gh = 1;
                                        hj = hj + 1;
                                        if (hj == 13){
                                            hj = 1;
                                            NG = NG + 1;                                    }}}}}}}
         if (NW.Month < 10)         {
             if (NW.Day < 10)            {
                 d = "0" + NW.Month + "-" + "0" + NW.Day + "-" + NW.Year;
                 }
             else           {
                 d = "0" + NW.Month + "-" + NW.Day + "-" + NW.Year;         }     }
         else      {
                                    if (NW.Day < 10)                                 {
                                        d = NW.Month + "-" + "0" + NW.Day + "-" + NW.Year;        }
                                    else     {
                                        d = NW.Month + "-" + NW.Day + "-" + NW.Year;          }     }    
     if (hj < 10)       {
             if (gh < 10)           {
                 b = "0" + hj + "-" + "0" + gh + "-" + NG;         }
             else           {
                 b = "0" + hj + "-" + gh + "-" + NG;         }     }
         else      {
             if (gh < 10)         {
                 b = hj + "-" + "0" + gh + "-" + NG;        }
             else         {
                 b = hj + "-" +gh + "-" + NG;     }}}

    .....

    ded_efsey, 06 Апреля 2011

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

    +984

    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
    string s;
    
    cout << "input words order:" << endl;
    getline(cin, s);
    
    int pos=0;
    while (true)
    {
    	pos=s.find(" ", pos+1);
    	if (pos==string::npos)
    		break;
    	num++;
    }
    num++;
    
    string words[num];
    pos=0;
    for (int i=0; i<num; i++)
    {
    	pos=s.find(" ");
    	if (pos==string::npos)
    	{
    		words[i]=s;
    		break;
    	}
    	words[i]=s.substr(0, pos);
    	pos++;
    	s=s.erase(0, pos);
    }

    очередной ночной опус. что? токенайзеры и вектора? ночь же..

    ilardm, 16 Мая 2010

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

    +982

    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
    void timerAutomaticLogin_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
            {
                try// 2 трая (видимо для невероятной надежности)
                {
                    try
                    {
                        timerAutomaticLogin.Enabled = false;
                        string[] str = File.ReadAllLines("Password.dll"); // Пароль в текстовом виде в якобы дллке
                        var sss = Convert.ToInt32(str[0]);// комбинация юзер*пассворд User*1 конвертируется к 1
                        comboBoxuserList.SelectedIndex = sss;// Выбирается пользователь с индексом пароля
                        textBoxPassword.Text = str[1];// пароль 2ая строчка файла
                        ChaeckPassword();// Пароль чаек
                    }
                    catch (Exception) { }
                }
                catch (Exception) { }
            }

    Окно авторизации:
    Два уровня защиты, интеллектуальная система подбора пользователя по карме, подбор пароля согласно предсказанию звёзд, инновационные методы безопасного хранения данных с новейшими системами шифрования.
    Содержимое файла Password.dll:
    User*1

    John386, 10 Августа 2011

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

    +980

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private string doubleToString(double v)
    {
        if (v < 0)
            return "-" + (-(int)v).ToString() + "." + (-(v - (int)v) * 10000000).ToString("0000000.");
        return ((int)v).ToString() + "." + ((v - (int)v) * 10000000).ToString("0000000.");
    }

    Превращаем double в строку. Разделитель - надо точку, а то "блин, он ставит запятую, SQL-сервер потом это не понимает" (с)

    Meowth, 14 Декабря 2011

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

    +980

    1. 1
    2. 2
    3. 3
    4. 4
    if (ch=='k' && ch!='t')
    {
         something
    }

    Найдено в довольно серьезном проекте.

    timurets, 05 Апреля 2011

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