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

    В номинации:
    За время:
  2. PHP / Говнокод #3787

    +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_once("xtemplate.class.php");
    include_once("functions.php");
    include_once("constants.php");
    include_once("db.php");
    
    $cat=(!empty($_GET['cat']))?(trim($_GET['cat'])):'index';
    
    switch($cat)
    {
        
        default:
    	  $buf=mysql_query("SELECT * FROM ".CAT_TABLE." WHERE cat_name='{$cat}' LIMIT 1",$db);
    	  $kol=mysql_num_rows($buf);
    	  if($kol!=0)
    	  {
    		$templ=new XTemplate("./style/static.xtpl");
    		$templ->assign('SITENAME',SITENAME);
    		$cat=mysql_fetch_assoc($buf);
    		mysql_freeresult($buf);
    		$page=(!empty($_GET['p']))?(trim($_GET['p'])):$cat['cat_start'];
    		
    		$buf=mysql_query("SELECT * FROM ".PAGES_TABLE." WHERE name='{$page}' AND cat={$cat['id']} LIMIT 1",$db);
    		$row=mysql_fetch_assoc($buf);
    		mysql_freeresult($buf);
    		
    		bb($row['content']);
    		$templ->assign('PAGE_TITLE',$row['title']);
    		$templ->assign('TITLE',$row['title']);
    		$templ->assign('CONTENT',$row['content']);
    		show_menu($cat['cat_name']);
    		out('static');
    	  }
    	  else
    	  {
    		header("Location: index.php");
    	  }
    }

    вот такая брутальная index страница попалась в переработку

    zloiia, 27 Июля 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    m_lActiveTab = GetCurSel();
    for (int i = 0; i < GetItemCount(); i++)
    	m_cItemSelected[m_lActiveTab] = false;
    m_cItemSelected[m_lActiveTab] = true;

    Вот так говнокодят в крупных проектах

    Snake2101, 14 Июля 2010

    Комментарии (19)
  4. PHP / Говнокод #3667

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    mysql_query("update hotel_room  set hotels_id=".$id.",name='".htmlspecialchars($hotel_room_name[$key])."',
    guests='".htmlspecialchars($hotel_room_guests[$key])."',childrens='".htmlspecialchars($hotel_room_childrens[$key])."',floor='".htmlspecialchars($hotel_room_floor[$key])."',
    connected='".htmlspecialchars($hotel_room_connected[$key])."',area='".htmlspecialchars($hotel_room_area[$key])."',terrace='".htmlspecialchars($hotel_room_terrace[$key])."',
    livingroom='".htmlspecialchars($hotel_room_livingroom[$key])."',bedroom='".htmlspecialchars($hotel_room_bedroom[$key])."',bathroom='".htmlspecialchars($hotel_room_bathroom[$key])."',
    sofa='".htmlspecialchars($hotel_room_sofa[$key])."',singlebed='".htmlspecialchars($hotel_room_singlebed[$key])."',twinbed='".htmlspecialchars($hotel_room_twinbed[$key])."',
    doublebed='".htmlspecialchars($hotel_room_doublebed[$key])."',queensizebed='".htmlspecialchars($hotel_room_queensizebed[$key])."',kingsizebed='".htmlspecialchars($hotel_room_kingsizebed[$key])."',
    extrabed='".htmlspecialchars($hotel_room_extrabed[$key])."',number='".htmlspecialchars($hotel_room_number[$key])."' 
    where id=".$value);

    (facepalm) k.o всё правильно сделал...

    qbbr, 08 Июля 2010

    Комментарии (5)
  5. PHP / Говнокод #3641

    +160

    1. 1
    2. 2
    3. 3
    if (empty($author) or empty ($text)) {
    exit ("<p>Оппа, нежданчик!<br> <input name='back' type='button' value='Вернуться назад' onclick='javascript:self.back();'>");
    }

    ...внезапно! (sic!)
    Источник: комментарии на ruseller.com

    kindofbear, 05 Июля 2010

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

    +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
    int S; 
    int A; 
    int random_integer = (rand()%3); 
    cout<<"Skolko vsego palochek\n"; 
    cin>>S; 
    cout<<"Komp zaberaet\n"; 
    S-=random_integer; 
    cout<<s<<"\n";>>A; 
    S-=A; 
    if (S==8) S-=3; cout<<"Komp Zaberaet\n"; 
    if (S==7) S-=2; cout<<"Komp Zaberaet\n"; 
    if (S==6) S-=1; cout<<"Komp Zaberaet\n"; 
    if (S==4) S-=3; cout<<"Komp Zaberaet\n"; 
    if (S==3) S-=2; cout<<"Komp Zaberaet\n"; 
    if (S==2) S-=1; cout<<"Komp Zaberaet\n"; 
    else 
    if (A==1) S-=3; cout<<"Komp Zaberaet\n"; 
    if (A==2) S-=2; cout<<"Komp Zaberaet\n"; 
    if (A==3) S-=1; cout<<"Komp Zaberaet\n"; 
    cout<<s<<"\n";>>A; 
    if (S<=0) cout<<"Vu proigrali\n"; 
    if (A!=3 && A!=2 && A!=1) cout<<"Mogno tolko ot 1-3 palochek\n";

    Вот такой суровый говнокод я встретил в одном из вопросов ВиО. То что код не рабочий и так понятно.

    Ivan0x32, 04 Июля 2010

    Комментарии (38)
  7. PHP / Говнокод #3624

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ini_set('session.use_cookies','0');
    ini_set('session.use_trans_sid','0');
    
    ...
    
    session_start();

    :D

    DmitryDick, 02 Июля 2010

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

    +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
    CBufferHandlerOfPrmtv::CBufferHandlerOfPrmtv
    {
        _ffInt = 0;
        _ffInt = ~_ffInt;
        _ffChar = 0;
        _ffChar = ~_ffChar;
    }
    
    bool CBufferHandlerOfPrmtv::IsFF(unsigned int toCheck, unsigned int toCheckSz)
    {
         if(toCheckSz > sizeof(unsigned int)){
             assert(!testPrmtvs);
             return true;
         }
     
         if(!toCheckSz){
             assert(!testPrmtvs);
             return true;
         }
     
         return (memcmp(&toCheck, &_ffInt, toCheckSz) == 0);
    }

    разбирал щас говешки и вот такое увидел...
    НАХЕРА ?!?!!?
    PS: подскажу. метода проверяет число на 0xff.

    kubrinsky, 28 Июня 2010

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

    +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
    //
    Fraction Fraction::operator +(Fraction &ob)
    {
    	int f;int d; int c; int k; int l; int z;
    	char*p; char*x;
    	p=new char; x=new char;
    	Fraction tempOb;
    	if(strcmp(znam, ob.znam)==0)
    	{
    		f=atoi(tempOb.chisl);
    		d=atoi(ob.chisl);
    		c=atoi(chisl);
    		f=d+c;
    		k=atoi(tempOb.znam);
    		l=atoi(znam);
    		k=l;
    		p=itoa(f,p,10);
    		x=itoa(k,x,10);
    		strcpy(tempOb.chisl,p);
    		strcpy(tempOb.znam,x);
    	}
    	else
    	{
    		f=atoi(tempOb.chisl);
    		d=atoi(ob.chisl);
    		c=atoi(chisl);
    		k=atoi(ob.znam);
    		l=atoi(znam);
    		f=c*k+d*l;
    		z=atoi(tempOb.znam);
    		z=l*k;
    		p=itoa(f,p,10);
    		x=itoa(z,x,10);
    		strcpy(tempOb.chisl,p);
    		strcpy(tempOb.znam,x);
    	}
    	tempOb.operator ~();
    	return tempOb;
    }
    //

    Нашел баг с переполнением, если вводишь слишком большие числа. Пытаюсь сделать через char. Работает. Но такие фрагменты кода убивают. Реально сделать легче, а еще лучше если сразу через int?

    ForEveR, 23 Июня 2010

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

    +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
    <?php
        {
    		$iter = 10000; //количество итераций
    		$Xmax = array(1,1); //верхние границы
    		$Xmin = array(-1,-1); //нижние границы
    		$F    = 'cos($x[0])*cos($x[1])'; //подынтегральное выражение
    		$F2   = '$x[0]+5-sin($x[1])>=2'; //выражение, определяющее границы функции (если такового нет, впишите 0)
        }
    
        $U    = count($Xmin); //кратность интеграла
        $Xint = array();
        $x    = array();
        $SumH = 0;
    
        for ($i = 0; $i <= $U; $i++)
    		{
    			$Xint[$i] = $Xmax[$i] - $Xmin[$i];
    		}
        for ($j = 1; $j <= $iter; $j++)
    		{
    			for ($i = 0; $i <= $U; $i++)
    				{
    					$x[$i] = $Xmin[$i] + lcg_value() * $Xint[$i];
    				}
    			eval ("\$F1 = $F2;"); //левая часть выражения, определяющего границы функции  
    			if ($F1 !== 0) 
    				{
    					$InInt = false;
    					if ($F1) $InInt = true;
    					if (!$InInt) continue;
    				}
    			eval ("\$F3 = $F;");
    			$SumH += abs($F3);
    		}
    
        $rez = 1;
        for ($i = 0; $i <= $U-1; $i++)
    		{
    			$rez = $rez*$Xint[$i];
    		}
        $rez = ($SumH*$rez)/ $iter;
        echo ("Answer: $rez"); 
     ?>

    Программа, считающая интегралы

    TERAB1T, 21 Июня 2010

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

    +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
    void check( const elemType eps = std::numeric_limits<elemType>::epsilon() ){
          count = 4;
          int isAB=0, isAC=0, isAD=0, isBC=0, isBD=0, isCD=0;
          if(A==B) isAB = 1;
          if(A==C) isAC = 1;
          if(A==D) isAD = 1;
          if(B==C) isBC = 1;
          if(B==D) isBD = 1;
          if(C==D) isCD = 1;
          if(isAB) {B=C;C=D;--count;}
          if(isAC) {C=D;--count;}
          if(isAD) {--count;}
          if(isBC) {C=D;--count;}
          if(isBD) {--count;}
          if(isCD) {--count;}
          if(count<3){std::cerr <<"Warning: Bad Frame.\n";}
       }

    Есть структура. В ней четыре поля. Два любых поля могут совпадать, могут не совпадать. Если два поля совпадают, то лишнее нужно удалить и установить счетчик в 3. Если больше двух полей совпадают сообщить об ошибке. Как это попроще (покрасивше) это сделать в стиле cpp?

    blackhearted, 15 Июня 2010

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