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

    +5

    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
    struct DateTime {
        string x;
        DateTime() { x = Now(); } 
        DateTime(const string& _x): x(_x) { if (BadDateTime) throw Exception(); }
        operator string() { return x; }
    };
    
    string correctDateTime(const string& value)
    {
        try
        {
            DateTime(value); // if the value is bad, ctor will throw
            return value;
        }
        catch (…) {}
        return DateTime(); // and we replace bad DateTime with currentDateTime
    }

    Где ошибка?

    Bobik, 04 Ноября 2015

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

    +1

    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
    #include <iostream>
    #include <conio.h>
    #include <windows.h>
    #include <vector>
    using namespace std;
    class Grey
    {
    	private:
    		int n, Search;
    		vector<int> list;
    		void getData()
    		{
    			printf("Задайте колличество числел Фибоначчи -> ");
    			scanf("%d", &n);
    		}
    		void builderTable()
    		{
    			list.resize(n);
    			list[0]=1; list[1]=1;
    			printf("1 1 ");
    			for(int i=2; i<n; i++)
    			{	
    				list[i]=list[i-1]+list[i-2];
    				printf("%d ", list[i]);
    			}
    		}
    		void search()
    		{
    			printf("\nПоказать елемент -> ");
    			scanf("%d", &Search);
    			while(Search<1 || Search>n)
    			{
    				printf("  Ошибка! Попробуйте еще раз -> ");
    				scanf("%d", &Search);
    			}
    			printf("Результат: %d", list[--Search]);
    		}
    		public:
    			void Fibonachi()
    			{
    				getData();
    				builderTable();
    				search();
    			}
    };
    main()
    {
    	SetConsoleCP(1251);
    	SetConsoleOutputCP(1251);
    	Grey obj1;
    	obj1.Fibonachi();
    }

    Выводим числа Фибоначчи, после чего предоставляем значение нужного элемента)

    NeeON, 31 Октября 2015

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

    −1

    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
    int expr_type=Expression();
    
    				if (param->Left != NULL)
    				{
    					param = param->Left;
    					if (param->node.NodeType == DATA_VAR)
    					{
    						SemantTree *type = (SemantTree *)param->node.Val.varible.VarType;
    						if (type->node.type != expr_type)
    						{
    							sc->PrintError("тип фактического параметра не приводится к типу соответствующего ему формального параметра", l);
    							return;
    						}
    					}
    					else//если не переменная
    					{
    						sc->PrintError("количество формальных и фактических параметров не совпадает", l);
    						return;
    					}
    				}
    				else//если вдруг левое поддерево==NULL
    				{
    					sc->PrintError("количество формальных и фактических параметров не совпадает", l);
    					return;
    				}
    				param_counter++;
    				if (param_counter>idr->node.Val.func.paramCount)//если счетчик фактических превысил кол-во формальных
    				{
    					sc->PrintError("количество формальных и фактических параметров не совпадает", l);
    					return;
    				}

    теория формальных языков. моя лаба по семантическому анализу))

    vladimir94, 25 Октября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    const int size = 100000;
    const int maxVal = 1e9;
    for(int i = 0; i < n; i++)
        values[i] = rand() % (maxVal + 1);

    Код работает на вин32

    3_dar, 25 Октября 2015

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

    +4

    1. 1
    2. 2
    3. 3
    bool isPalindrom(int n, int add = 0, int addLen = 0) {
    	return n == 0 && addLen != 0 ? false : n == add || isPalindrom(n / 10, pow(10, addLen) * n % 10 + add, addLen + 1);
    }

    Является ли число палиндромом?

    Al_Kozincev, 24 Октября 2015

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

    +4

    1. 1
    static bool Equal(const MyClass &rhs, const MyClass &lhs);

    Тщатетельно замаскированные грабли

    skyhawk, 22 Октября 2015

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

    +9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (Label125->Color == clGreen)
    {
      CreateOrderApi();// создаем накладную
    }
    else 
    {
      MessageBox("Не удалось создать накладную", "Ошибка", MB_OK | MB_ICONERROR);
    }

    expresscourier, 15 Октября 2015

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

    +1

    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
    void __fastcall TExpressProgForm::miAddClick (TObject *Sender)
    {
        /* куча гавна */
    
      if (Sender != miAdd && !SuperUser && GridMain->FieldByName ("ID_city")->AsString != GetValue (DB, "SELECT @EXPRESS_CITY")
          && GetValue (DB, "SELECT 1 FROM debitor_cfo WHERE ID_city=" + GridMain->FieldByName ("ID_city")->AsString) == 1
          && GetValue (DB, "SELECT @EXPRESS_CITY") != 1538)
      {
        FrameEdit->Edit2->ReadOnly = true;
        FrameEdit->CheckBox1->Enabled = false;
        FrameEdit->Panel4->Enabled = false;
        FrameEdit->miDelEmployee->Enabled = false;
      }
    
        /* куча гавна */
    }

    expresscourier, 15 Октября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    T& T::operator =(const T& that)
    {
        delete[] Name;
        Name = that.Name ? strcpy(new char[strlen(that.Name) + 1], that.Name) : 0;
        return *this;
    }

    плюсы без плюсов

    absolut, 09 Октября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    /*
    удалено по просьбе правообладателя
    */

    Люблю такое, там ещё реализовано наследование, vtable и прочие радости жизни. Спрашивается, нафига из чистых си делать недоплюсы? Ладно там хотя бы gobject взяли, но лисапед то зачем с треугольными колесами?

    gorthauer87, 08 Октября 2015

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