Jawa / Говнокод #28015 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
public class ExampleW{
    public static void main(){
        Scanner input = new Scanner(System.in);
        System.out.println("Give mark: ");
        int mark = input.nextInt();
        String Grade;
        switch (mark){
        case 100:
        case 99:
        case 98:
        case 97:
        case 96:
        case 95:
        case 94:
        case 93:
        case 92:
        case 91:
        case 90:{
            Grade = "A+";
            break;
        }case 89:
        case 88:
        case 87:
        case 86:
        case 85:
        case 84:
        case 83:
        case 82:
        case 81:
        case 80: {
            Grade = "A";
            break;
        }case 75:
        case 76:
        case 77:
        case 78:
        case 79:{
            Grade = "A-";
            break;
        }case 70:
        case 71:
        case 72:
        case 73:
        case 74:{
            Grade ="B+";
            break;
        } case 69:
        case 68:
        case 67:
        case 66:
        case 65:{
            Grade ="B";
            break;
        }
        case 64:
        case 63:
        case 62:
        case 61:
        case 60:{
            Grade = "C+";
            break;
        }case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
        case 58:
        case 59: {
            Grade = "C";
            break;
        }case 45:
        case 46:
        case 47:
        case 48:
        case 49:{
            Grade = "D";
            break;
        }case 40:
        case 41:
        case 42:
        case 43:
        case 44:{
            Grade = "E";
            break;
        }case 0:
        case 1:
        case 2:
        case 3:
        ...
        ...
        }default: {
            Grade = "null";
            break;
        }}
}

Запостил: Мистер Хэнки Мистер Хэнки, (Updated )

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

    • Проверим:

      public class ExampleW{
          public static void main(){
              Scanner input = new Scanner(System.in);
              System.out.println("Give mark: ");
              int mark = input.nextInt();
              String Grade;
              switch (mark){
              case 100:
              case 99:
              case 98:
              case 97:
              case 96:
              case 95:
              case 94:
              case 93:
              case 92:
              case 91:
              case 90:{
                  Grade = "A+";
                  break;
              }case 89:
              case 88:
              case 87:
              case 86:
              case 85:
              case 84:
              case 83:
              case 82:
              case 81:
              case 80: {
                  Grade = "A";
                  break;
              }case 75:
              case 76:
              case 77:
              case 78:
              case 79:{
                  Grade = "A-";
                  break;
              }case 70:
              case 71:
              case 72:
              case 73:
              case 74:{
                  Grade ="B+";
                  break;
              }case 69:
              case 68:
              case 67:
              case 66:
              case 65:
              case 64:
              case 63:
              case 62:
              case 61:
              case 60:{
                  Grade ="B";
                  break;
              }case 50:
              case 49:
              case 48:
              case 47:
              case 46:
               case 45:
              case 44:
              case 43:
              case 42:
              case 41:
              case 40: {
                  Grade ="C+";
                  break;
              }case 39:
              case 38:
              case 37:
              case 36:
              case 35:
              case 34:
              case 33:
              case 32:
              case 31:
               case 30:{
                  Grade ="C";
                  break;
              }case 25:
              case 24:
              case 23:
              case 22:
              case 21:
              case 20:{
                  Grade ="D";
                  break;
              }
              }
              System.out.println("The mark "+ Grade + " is good");
              }
          }
      }
      Ответить
        • Эта нейросеть не в первый раз ведёт себя, как человек: то путает числа, то устаёт. Из неё бы вышла отличная решалка капчи...
          Ответить
  • Раньше были перекаты, сейчас все перекаты только от xyz бота имени борманда, скучно живем.
    Ответить
    • Солнце скрылось за горою
      Затуманились речные перекаты
      Ответить
              • Крокодил значительно интересней, чем броненосец, потому что из него можно сделать интересные сумочки
                Ответить
                • Твои комментарии напоминают тирлайны в раздетом дедушке.
                  Ответить
                      • Реактивное движение это то, которое делается очень быстро и в правильном направлении
                        Ответить
                      • Вот этот чотко вписывается в диапазон уебков
                        govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26133"])
                        govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26134"])
                        govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26135"])
                        govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26137"])
                        Ответить
                        • Вот так правильнее:

                          govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26133"])
                          govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26134"])
                          govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26135"])
                          govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/26137"])
                          govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/68019"])


                          Не благодари.
                          Ответить
                  • Когда-то Рената Муха напечатала в журнале стихи-окончания и предложила написать к ним начало.

                    Окончания были такие

                    - Ну не плачь,- сказала Мышка:
                    все равно кастрюле крышка!


                    -И это для Дятла такая наука,
                    Что он никуда не заходит без стука!


                    -Пожалуйста, я откажусь от короны,
                    Но можно сначала доесть макароны?

                    -Но тут Осьминог подошёл к Осьминогу
                    И в знак уваженья пожал ему ногу.

                    -Вчера крокодил улыбнулся так злобно,
                    Что мне до сих пор за него неудобно
                    Ответить
          • У него одна звезда
            Да и та на погоне
            Ответить
    • #include <stdio.h>
      
      int main(void)
      {
      	union
      	{
      		unsigned a:4;
      		int _;
      	} un;
      	scanf("%d", &un._);
      	
      	auto const char* grades[] = {"A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "E+", "E", "E-", "F+", "F"};
      	printf("%s", grades[un.a]);
      	return 0;
      }
      Ответить
      • а вот в крестах можно анонимные юнионы делать
        #include <iostream>
        
        int main(void)
        {
        	union
        	{
        		unsigned a:4;
        		int b;
        	};
        	std::scanf("%d", &b);
        	
        	const char* grades[] = {"A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "E+", "E", "E-", "F+", "F"};
        	std::printf("%s", grades[a]);
        
        	return 0;
        }
        Ответить
        • можно четыре байта сохранить
          #include <iostream>
          
          union Kokoko {int b; unsigned a:4;};
          int main(union Kokoko argc)
          {
          	std::scanf("%d", &argc.b);
          	
          	const char* grades[] = {"A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "E+", "E", "E-", "F+", "F"};
          	std::printf("%s", grades[argc.a]);
          	return 0;
          }
          Ответить
          • жаль нельзя прям в параметрах объявлять структуры.
            это же так можно бы было битоебить...
            Ответить
              • Бездари - это люди, которые периодически лежат у вокзалов
                Ответить
                      • > iostream
                        > std::printf

                        Кстати, а использование функций случайно прилетевших по транзитивной зависимости -- это не UB? Или просто implementation defined?
                        Ответить
                          • Кстати, у STL куча реализаций (STLPort, Rogue Wave, Dinkum STL и прочие). У них перекрёстные зависимости заголовков могут отличаться. Да даже у форков одной библиотеки для разных компиляторов и разных платформ зависимости могут отличаться.

                            Думаю, это implementation defined.
                            Ответить
                          • А представь, что реализация юзает разные по смыслу но одинаковые по названию платформозависимые функции, не описанные в самом стандарте. И т.к. код ничего явно не инклудил, он получает какую-то из них.

                            Всё-таки транзитивность препроцессора -- зло.
                            Ответить
                            • С header-only библиотеками связана проблема: всё, что использует реализация, нужно инклюдить, т. е. делать публичным для всех пользователей библиотеки.

                              Если же библиотека с раздельной компиляцией, то всё, от чего зависит только реализация и не зависит интерфейс, можно инклюдить только в c/cpp-файлы, не портя хедеры лишними зависимостями.
                              Ответить
                            • Нэйм пейсами это говно не решается? Разве обязаьельно инклудить это говно в std?
                              Ответить
                              • > Разве обязаьельно инклудить это говно в std?
                                ЯНИХУЯНЕПОНЯЛ.ЖПГ

                                > Нэйм пейсами это говно не решается?
                                Проблема в том, что то, что внутри использует какая-то библиотека, вылазит к тебе.
                                Импортируется какая-то бустовская либа, все эти имена доступны тебе. И теперь у тебя всё падает с ошибкой, потому что новый инклюд затащил через три колена какую-то функцию, которая стала находиться через ADL и оказалась лучшим кандидатом, чем оригинальная.
                                Ответить
                                • Я имел ввиду, библиотеку нельзя написать так, чтобы внутре нейсмпейса, например std, не было лишнего говна типа printf? Нельзя заинклудить stdio.h в какой-нибудь анонимный неймспейс?

                                  А хотя в крестоговне всё равно прилетят макросы из других хедеров. Какой багор )))
                                  Ответить
                                  • > какой-нибудь анонимный неймспейс
                                    Анонимный неймспейс не спасёт, он только даёт внутреннюю видимость. Единственный, кого это ебёт — линкер.
                                    Вся проблема именно в том что include это тупой копипаст. В последних С++ это попытались решить модулями, в которых прописано, что именно экспортируется.
                                    Ответить
                                    • > В последних С++ это попытались решить модулями

                                      И как эти "модули" кобенируются с обычными .h файлами, инклудящимися через препроцессор?
                                      Ответить
                                      • В принципе нормально. Заголовочные файлы можно импортировать, это даст доступ к сущностям, объявленным там, но не насрёт тем кто импортирует данный модуль. Если ты пишешь не модуль, а простую единицу трансляции, которую никто инклюдить не будет, то можешь смешивать импорты и инклюды в одном файле.

                                        Единственная проблема — импортируемые заголовки не видят макросов, обявленных вне них (благодаря изоляции). Так что, если настройка библиотеки работает через определение макросов перед её включением, то нужно макросы определять либо на уровне компилятора (-dNDEBUG), либо использовать костыль под названиет «глобальный фрагмент модуля»
                                        Ответить
                                        • > настройка через макросы

                                          Х.з., я даже с обычными хедерами всегда пишу такие настройки через -D. Чтобы заведомо рассогласования не было.
                                          Ответить
                                          • Верно
                                            за #define SETTING 1 да еще и в правлиьном парядке надо пробивать щелбана
                                            Ответить
                                • Вы напоминаете поваров туалетной кухни, которые пропускают фекалии через мясорубку а потом формуют из полученного химуса котлеты.

                                  Бон аппетит.
                                  Ответить
                    • А в крестах нельзя биты члена юниона через другой член получить?
                      Ответить
                      • Там вроде такой ход мыслей:

                        - у юниона есть только один активный член
                        - остальные члены ещё не начали или уже закончили жить
                        - поэтому обращение к ним UB
                        Ответить
                        • У нас в коде используется запись в один член и чтение из другого. Пользуемся шлангом.
                          Ответить
                          • Ну видимо они у себя в доке разрешают такое делать, как и gcc. Иначе вполне валидный сишный код не будет конпеляться крестами.
                            Ответить
                            • ЕМНИП в гцц/шланге это работает если в юнионе хранятся только POD. Иначе начинают работать с отдельными членами, как с несвязанными переменными, и может случиться UB, когда конпелятор решит подержать пока свежеприсвоенное значение на стеке и не записывать его, а другой член юниона в то время прочтут.
                              Ответить
                                • > Судя по приведённым там примерам, увидит что другой член трогают и зафлашит всё как положено.

                                  С точки зрения стандарта это UB.
                                  Ответить
                                  • > С точки зрения стандарта это UB.

                                    См. цитату Линуса ниже по тексту.
                                    Ответить
                                    • Линус и про кресты кстати много чего интересного говорил.
                                      https://lore.kernel.org/lkml/Pine.LNX.4.58.0401192241080.2311@home.osdl.org/


                                      The fact is, C++ compilers are not trustworthy. They were even worse in
                                      1992, but some fundamental facts haven't changed:

                                      - the whole C++ exception handling thing is fundamentally broken. It's
                                      _especially_ broken for kernels.
                                      - any compiler or language that likes to hide things like memory
                                      allocations behind your back just isn't a good choice for a kernel.
                                      - you can write object-oriented code (useful for filesystems etc) in C,
                                      _without_ the crap that is C++.

                                      И правильно. Кресты - кривоублюдочное говно с говноэксепшенами.
                                      Ответить
                                        • Непереносимое расширение (хотя тут уместнее сказать "сужение"). В стандарте нет никакого "--fno-exceptions"
                                          Ответить
                                          • вот когда в плюсы портируют самое лучшее из сишки, вот тогда попляшем.
                                            Ответить
                                          • > В стандарте нет никакого "--fno-exceptions"

                                            Просто не юзай 90% стандартной либы и не пиши try и throw.

                                            З.Ы. В стандарте нет никакого "размера кода", поэтому на размер кода это никак не влияет.
                                            Ответить
                                            • > Просто не юзай 90% стандартной либы и не пиши try и throw.

                                              А также надо не юзать никаких библиотек, которые используют эти говноэксепшены и что-то из той 90% части стандартной либы, которой эксепшены нужны. В общем хуй че тогда можно поюзать, говно одним словом
                                              Ответить
                                                • > Иди работать в гугл, у них все либы без исключений.

                                                  И они пользуют только те 10% из стандартной крестоговнолибы, которой не нужны исключения, да?
                                                  Ответить
                                                • > Иди работать в гугл, у них все либы без исключений.

                                                  И они пользуют только те 10% из стандартной крестоговнолибы, которой не нужны исключения, да?
                                                  Ответить
                                              • > В общем хуй че тогда можно поюзать, говно одним словом

                                                Если мы говорим конкретно о ядре, то и в сишной либе хуй чего можно поюзать. Ну разве что какие-то совсем базовые вещи в духе memcpy да strncpy.
                                                Ответить
                                              • > В общем хуй че тогда можно поюзать, говно одним словом

                                                Если мы говорим конкретно о ядре, то и в сишной либе хуй чего можно поюзать. Ну разве что какие-то совсем базовые вещи в духе memcpy да strncpy.
                                                Ответить
                                                • > Если мы говорим конкретно о ядре, то и в сишной либе хуй чего можно поюзать. Ну разве что какие-то совсем базовые вещи в духе memcpy да strncpy.

                                                  Во-первых в сишной либе и так хуй что есть. Во-вторых stdatomic.h вполне можно поюзать. И stdalign.h например. Или это тоже базовые вещи? Что вообще считать за базовые, а что за "небазовые" вещи?
                                                  Ответить
                                                  • > Во-первых в сишной либе и так хуй что есть.
                                                    Тебе не скажут, что в твоей либе кучу вещей нельзя использовать в каких-то обстоятельствах, если и так там использовать нечего.

                                                    Лучший язык — брейнфак. Одинакого непригоден что для прикладного программирования, что для ядра, что для контроллеров.
                                                    Ответить
                                                  • > Во-вторых stdatomic.h вполне можно поюзать.

                                                    Ну и в крестах ты вполне можешь поюзать атомики и кучу алгоритмов. Те же сортировки. Они или в принципе ничего не кидают или не кидают если твои типы ничего не кидают.
                                                    Ответить
                                                    • Когда мой друг тонул, я бросился его спасать, потому что на нем были мои плавки
                                                      Ответить
                                                      • Сначала я не понимала, почему директор при разговоре со мной корчит рожи и думала: что же его так плющит? Потом выяснилось, что он мою мимику копировал
                                                        Ответить
                                            • В стандарте хоть что-нибудь есть?

                                              Даже Торвальдс сказал, что туалетная бумага полезнее стандарта, потому что она не оставляет чернил на жопе.
                                              Ответить
                                      • >- any compiler or language that likes to hide things like memory
                                        allocations behind your back just isn't a good choice for a kernel.

                                        ну тут надо сказать, что прячет только STL. Сам С++ ничего не прячет
                                        Ответить
                              • I've said this before, and I'll say it again: a standards paper is just so much toilet paper when it conflicts with reality. It has absolutely _zero_ relevance. In fact, I'll take real toilet paper over standards any day, because at least that way I won't have splinters and ink up my arse.

                                Linus Torvalds
                                Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8