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

    +27

    1. 1
    cout<<!0&&0;

    Что вернет?
    1) 1||0&&0
    2) !0&&0
    3) Приоритет оператора "!" ?
    http://ideone.com/hHdZ1
    http://ideone.com/s8Cj0


    Сории за толстейший троллинг.

    LispGovno, 17 Октября 2012

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

    +33

    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
    std::function<int()> gl()
    {
       int a=0;
       return [=]()mutable{return a++;};
    }
    
    int main() 
    {
       auto a=gl();
       cout 
          <<a()
          <<endl
          <<a()
          <<endl
          <<a()
          <<endl
          <<a();
       return 0;
    }

    http://liveworkspace.org/code/22012a32e91743cd7357c86930df4b9c

    Не совсем гавно, но порядок выполнения операторов вывода C++ для меня оказался неожиданным и не интуитивным.

    LispGovno, 17 Октября 2012

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var x = new { Items = new List<int> { 1, 2, 3 }.GetEnumerator() };
    while (x.Items.MoveNext())
    {
        Console.WriteLine(x.Items.Current);
    }

    http://ideone.com/Qzdki

    LispGovno, 16 Октября 2012

    Комментарии (17)
  4. JavaScript / Говнокод #11940

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function ValidatePhone(strphone)
    {
        for(j=0;j<strphone.length;j++)
        {
        var cut;
        cut=strphone.charAt(  j )
        if(cut!=0&&cut!=1&&cut!=2&&cut!=3&&cut!=4&&cut!=5&&cut!=6&&cut!=7&&cut!=8&&cut!=9&&cut!="("&&cut!=")"&&cut!=".")
          return false;
     
        } 
        return true;
    }

    классика

    bytes, 16 Октября 2012

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

    +47

    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
    if($choice_product == 39.90)
            {    
              include('monthly_recurring/subscription_create.php');
            }
      if($choose_shipping == '0.00')
    
       {
    
          $choose_shipping_recur = 9.99;
    
       }
    
         
    
       if($choose_shipping == 'Canada')
    
       {
    
          $choose_shipping_recur = 0;
    
       }
    
       
    
       if($choose_shipping == '25.00')
    
       {
    
          $choose_shipping_recur = 25;
    
       }
    
       
    
       if($choose_shipping == '55.00')
    
       {
    
          $choose_shipping_recur = 55;
    
       }

    bytes, 16 Октября 2012

    Комментарии (3)
  6. PHP / Говнокод #11938

    +50

    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
    $submit = $_REQUEST['submit'];
    if(isset($submit))
    {
    
    	$first_name = $_REQUEST['first_name'];
    	$last_name = $_REQUEST['last_name'];	
    	$address = $_REQUEST['address'];
    	$city = $_REQUEST['city'];
    	$country = $_REQUEST['country'];
    	$state = $_REQUEST['state'];
    	$zipcode = $_REQUEST['zipcode'];
    	$phone = $_REQUEST['phone'];
    	$email = $_REQUEST['email'];
    		
    	$_SESSION['first_name'] = $first_name;
    	$_SESSION['last_name'] = $last_name;
    	$_SESSION['address'] = $address;
    	$_SESSION['city'] = $city;
    	$_SESSION['country'] = $country;
    	$_SESSION['state'] = $state;
    	$_SESSION['zipcode'] = $zipcode;
    	$_SESSION['phone'] = $phone;
    	$_SESSION['email'] = $email;
    	
    	
    	?>
    	  <meta http-equiv="refresh" content="0;url=https://www.site.com/development1/billing_info.php"/>
    	<?
    	  exit();

    оригинальная обработка сабмита формы и редиректа

    bytes, 16 Октября 2012

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

    +46

    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
    function send_attach(
     $to, //!< Email получателя
     $from, //!< Email отправителя
     $task, //!< Тема письма
     $text //!< Текст письма
     ) {
     
     $boundary = "--".md5(uniqid(time())); // генерируем разделитель
     $subject= $task." [".stripslashes($_SERVER['HTTP_HOST'])."]";
     $subject ='=?windows-1251?B?'.base64_encode($subject).'?=';
     $headers = "To: ".$to."\r\n";
     $headers="From: =?windows-1251?B?".base64_encode(stripslashes($_SERVER['HTTP_HOST']))."?= <".$from.">\r\n";
     $headers .= "MIME-Version: 1.0\n";
     $headers .= "Content-Type: multipart/mixed; boundary=\""
     .$boundary."\"\r\n";
     $headers .= "--".$boundary."\r\n";
     $headers .= "Content-type: text/html; charset=windows-1251 \r\n";
     $headers.="Subject: ".$subject."\r\n";
     $headers.="X-Mailer: PHP/".phpversion()."\r\n";
     $headers .= "Content-Transfer-Encoding: Quot-Printed\r\n\r\n";
     $headers .= '<html><head><title>Заявка с сайта</title></head>';
     $headers .= '<body>'.$text.'</body></html>';
     //.'<img src=\'24.jpg\' alt="img">
     $message_part = "";
     
     if(
     isset($_FILES['f_file']['tmp_name']) and
     is_array($_FILES['f_file']['tmp_name'])
     ) {
     foreach($_FILES['f_file']['name'] as $k => $v) {
     if (trim($v) != '') {
     
     $fname = $_FILES['f_file']['tmp_name'][$k];
     $fp = fopen($fname,"r");
     $file = fread($fp, $_FILES['f_file']['size'][$k]);
     fclose($fp);
     
     $message_part .= "--$boundary\r\n";
     $message_part .= "Content-Type: application/octet-stream\r\n";
     $message_part .= "Content-Transfer-Encoding: base64\r\n";
     $message_part .= "Content-Disposition: attachment; filename = \""
     .$_FILES['f_file']['name'][$k]."\"\r\n\r\n";
     $message_part .= chunk_split(base64_encode($file))."\r\n";
     
     }
     }
     }
     $message_part .= "--".$boundary."--\n";
     
     
     return mail($to, $subject, $message_part, $headers);
    
     }

    Функция отправки письма с сайта. Технически - вроде работает. А так, вполне себе "обфускация" получилась.

    Lblss, 16 Октября 2012

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

    +46

    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
    // БреДскрамс и выделение текущих категорий
    
    		if($level==1){	
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $parent_id);
    			$data_1ur = $query->getFirstRecord();
    			$this->template->assign('data_1ur', $data_1ur);
    		}
    		if($level==2){
    			// первым делом досается сама категория
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $parent_id);
    			$data_2ur = $query->getFirstRecord();
    			$this->template->assign('data_2ur', $data_2ur);
    			
    			// ее родители
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $data_2ur['parent_id']);
    			$data_1ur = $query->getFirstRecord();
    			$this->template->assign('data_1ur', $data_1ur);
    		}
    		if($level==3){
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $parent_id);
    			$data_3ur = $query->getFirstRecord();
    			$this->template->assign('data_3ur', $data_3ur);
    			
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $data_3ur['parent_id']);
    			$data_2ur = $query->getFirstRecord();
    			$this->template->assign('data_2ur', $data_2ur);
    			
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $data_2ur['parent_id']);
    			$data_1ur = $query->getFirstRecord();
    			$this->template->assign('data_1ur', $data_1ur);
    		}

    да, да, да...

    nkarakin, 16 Октября 2012

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

    +137

    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
    public List<int> parseInt(string input)
    {
      string res = "";
      int i = 0;
      while (input[i] != ' ')
      {
        res = res + input[i];
        //System.Console.WriteLine(res + " = res[" + i + "]");
        i++;
      }
      i = res.Length - 4;
      List<int> num = new List<int>();
      for (int j = 0; i > -4; i = i - 4, j++)
      {
        try
        {
          num.Add(int.Parse(res.Substring(i, 4)));
        }
        catch (Exception e1)
        {
          try
          {
            num.Add(int.Parse(res.Substring(i + 1, 3)));
          }
          catch (Exception e2)
          {
            try
            {
              num.Add(int.Parse(res.Substring(i + 2, 2)));
            }
            catch (Exception e3)
            {
              num.Add(int.Parse(res.Substring(i + 3, 1)));
            }
          }
        }
      //System.Console.WriteLine(num[j]+" = num["+j+"]");
      }
      return num;
    }

    Опять студенты.
    Задание: реализовать длинную арифметику.

    один из примеров чтения длинного числа

    graph_di5, 16 Октября 2012

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

    −97

    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
    Функция Транслит(Имя)
        Рез = СокрЛП(Имя);
        Рез = СтрЗаменить(Рез,"а","a");
        Рез = СтрЗаменить(Рез,"б","b");
        Рез = СтрЗаменить(Рез,"в","v");
        Рез = СтрЗаменить(Рез,"г","g");
        Рез = СтрЗаменить(Рез,"д","d");
        Рез = СтрЗаменить(Рез,"е","e");
        Рез = СтрЗаменить(Рез,"ё","jo");
        Рез = СтрЗаменить(Рез,"ж","zh");
        Рез = СтрЗаменить(Рез,"з","z");
        Рез = СтрЗаменить(Рез,"и","i");
        Рез = СтрЗаменить(Рез,"й","jj");
        Рез = СтрЗаменить(Рез,"к","k");
        Рез = СтрЗаменить(Рез,"л","l");
        Рез = СтрЗаменить(Рез,"м","m");
        Рез = СтрЗаменить(Рез,"н","n");
        Рез = СтрЗаменить(Рез,"о","o");
        Рез = СтрЗаменить(Рез,"п","p");
        Рез = СтрЗаменить(Рез,"р","r");
        Рез = СтрЗаменить(Рез,"с","s");
        Рез = СтрЗаменить(Рез,"т","t");
        Рез = СтрЗаменить(Рез,"у","u");
        Рез = СтрЗаменить(Рез,"ф","f");
        Рез = СтрЗаменить(Рез,"х","h");
        Рез = СтрЗаменить(Рез,"ч","ch");
        Рез = СтрЗаменить(Рез,"ш","sh");
        Рез = СтрЗаменить(Рез,"щ","shh");
        Рез = СтрЗаменить(Рез,"ъ","");
        Рез = СтрЗаменить(Рез,"ь","");
        Рез = СтрЗаменить(Рез,"э","eh");
        Рез = СтрЗаменить(Рез,"ю","ju");
        Рез = СтрЗаменить(Рез,"ц","c");
        Рез = СтрЗаменить(Рез,"я","ja");
        Рез = СтрЗаменить(Рез,"ы","i");
        Рез = СтрЗаменить(Рез,"А","A");
        Рез = СтрЗаменить(Рез,"Б","B");
        Рез = СтрЗаменить(Рез,"В","V");
        Рез = СтрЗаменить(Рез,"Г","G");
        Рез = СтрЗаменить(Рез,"Д","D");
        Рез = СтрЗаменить(Рез,"Е","E");
        Рез = СтрЗаменить(Рез,"Ё","JO");
        Рез = СтрЗаменить(Рез,"Ж","ZH");
        Рез = СтрЗаменить(Рез,"З","Z");
        Рез = СтрЗаменить(Рез,"И","I");
        Рез = СтрЗаменить(Рез,"Й","JJ"); 
        Рез = СтрЗаменить(Рез,"К","K");
        Рез = СтрЗаменить(Рез,"Л","L");
        Рез = СтрЗаменить(Рез,"М","M");
        Рез = СтрЗаменить(Рез,"Н","N");
        Рез = СтрЗаменить(Рез,"О","O");
        Рез = СтрЗаменить(Рез,"П","P");
        Рез = СтрЗаменить(Рез,"Р","R");
        Рез = СтрЗаменить(Рез,"С","S");
        Рез = СтрЗаменить(Рез,"Т","T");
        Рез = СтрЗаменить(Рез,"У","U");
        Рез = СтрЗаменить(Рез,"Ф","F");
        Рез = СтрЗаменить(Рез,"Х","H");
        Рез = СтрЗаменить(Рез,"Ч","CH");
        Рез = СтрЗаменить(Рез,"Ш","SH");
        Рез = СтрЗаменить(Рез,"Щ","SHH");
        Рез = СтрЗаменить(Рез,"Ъ","");
        Рез = СтрЗаменить(Рез,"Ь","");
        Рез = СтрЗаменить(Рез,"Ы","");
        Рез = СтрЗаменить(Рез,"Ц","C");
        Рез = СтрЗаменить(Рез,"Э","EH");
        Рез = СтрЗаменить(Рез,"Ю","JU");
        Рез = СтрЗаменить(Рез,"Я","JA");
       
        Возврат(Рез);
    КонецФункции

    Суровая транслитерация... Я плакалъ

    jerokee, 16 Октября 2012

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