1. C# / Говнокод #19388

    −2

    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
    float PriceByProductID(string product_id)
    	{
    		if(product_id == RUBY_PILE)
    			return 1.99f;
    		else if (product_id == RUBY_BAG)
    			return 4.99f;
    		else if (product_id == RUBY_SACK)
    			return 9.99f;
    		else if (product_id == RUBY_BOX)
    			return 19.99f;
    		else if (product_id == RUBY_CHEST)
    			return 39.99f;
    		else if (product_id == RUBY_TRUNK)
    			return 99.99f;
    		else if (product_id == GOLD_PILE)
    			return 0.99f;
    		else if (product_id == GOLD_BAG)
    			return 2.99f;
    		else if (product_id == GOLD_SACK)
    			return 7.99f;
    		else if (product_id == GOLD_BOX)
    			return 14.99f;
    		else if (product_id == GOLD_CHEST)
    			return 29.99f;
    		else if (product_id == GOLD_TRUNK)
    			return 79.99f;
    		return 0f;
    	}

    Запостил: kschingiz, 03 Февраля 2016

    Комментарии (28) RSS

    • Некому было БД заниматься или студент делал?
      Ответить
      • Может это не реальные товары, а какая-нибудь мини-игра на 2000 строк.
        Ответить
    • Расскажите автору про ООП
      Ответить
      • Уже, рассказал
        Ответить
        • Теперь можно рассказать про СУБД и/или файлы.
          Ответить
          • Ух ты! Правда легче стало!

            SELECT CASE product_id
                WHEN RUBY_PILE THEN 1.99
                WHEN RUBY_BAG THEN 4.99
                WHEN RUBY_SACK THEN 9.99
                WHEN RUBY_BOX THEN 19.99
                WHEN RUBY_CHEST THEN 39.99
                WHEN RUBY_TRUNK THEN 99.99
                WHEN GOLD_PILE THEN 0.99
                WHEN GOLD_BAG THEN 2.99
                WHEN GOLD_SACK THEN 7.99
                WHEN GOLD_BOX THEN 14.99
                WHEN GOLD_CHEST THEN 29.99
                WHEN GOLD_TRUNK THEN 79.99
                ELSE 0
            END;
            Ответить
      • > Расскажите автору про ООП

        Ух ты! Правда легче стало!

        interface IPriceable {
            public float Price { get; }
        }
        
        class RubyPile : IPriceable {
          public Price { get { return 1.99f; } }
        }
        
        class RubyBag : IPriceable {
          public Price { get { return 4.99f; } }
        }
        
        class RubySack : IPriceable {
          public Price { get { return 4.99f; } }
        }
        // over 9000 classes
        Ответить
    • Расскажите автору про enum xD
      Ответить
      • Ух ты! Правда легче стало!
        float PriceByProductID(string product_id)
        switch ((GovnoEnum)Enum.Parse(typeof(GovnoEnum, product_id)))
        	{	
                case GovnoEnum.RUBY_PILE:
        			    return 1.99f;
        			    break;
                case GovnoEnum.RUBY_BAG:
        			    return 4.99f;
        			    break;
                case GovnoEnum.RUBY_SACK:
        			    return 9.99f;
        			    break;
                case GovnoEnum.RUBY_BOX:
        			    return 19.99f;
        			    break;
                case GovnoEnum.RUBY_CHEST:
        			    return 39.99f;
        			    break;
                case GovnoEnum.RUBY_TRUNK:
        			    return 99.99f;
        			    break;
                case GovnoEnum.GOLD_PILE:
        			    return 0.99f;
        			    break;
                case GovnoEnum.GOLD_BAG:
        			    return 2.99f;
        			    break;
                case GovnoEnum.GOLD_SACK:
        			    return 7.99f;
        			    break;
                case GovnoEnum.GOLD_BOX:
        			    return 14.99f;
        			    break;
                case GovnoEnum.GOLD_CHEST:
        			    return 29.99f;
        			    break;
                case GovnoEnum.GOLD_TRUNK:
        			    return 79.99f;
        			    break;
        		default:
        		        return 0f;
        	}
        Ответить
    • Расскажите автору про хешмапы
      Ответить
      • Да, все это можно сделать использовав класс Dictionary. В этом случае самый оптимальный вариант наверное.
        Ответить
      • в CLR это называется IDictinory
        Ответить
    • > PriceByProductID
      > return 79.99f;
      Да в этом вашем сисярпе есть даже литералы для денег! Правда непонятно -- это флорины или франки?
      Ответить
      • Мадьярские форинты.
        Ответить
      • Фалосы США
        Ответить
      • а меня учили что за использование плавающей точки в операциях с деньгами нужно отрезать левое ухо
        особенно если это флоаты а не даблы
        Ответить
    • Расскажите автору про PHP.
      Ответить

    Добавить комментарий