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

    +1006.4

    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 <stdlib.h>
    #include <conio.h>
    #include <iostream.h>
    
    int main()
    {
            int i,ass,cmpr,sort=2;
            int mass[20];
            while((sort==1)&&(sort==2)&&(sort==3))
            {
                    cout<<"введите вид сортировки: 1 — шейрная, 2- выбор, 3 — быстрая"<<;
                    cin>>sort;
                    for(i=0;in;i++)
                    {
                            cout<<"Введите число в массив"<<;
                            cin>>mass[i];
                    }
                    if (sort==1)
                    {
                            //пограмма шейкерной сортировки
                    }
                    else if (sort==2)
                    {
                            //программа сортировки прямым выбором
                    }
                    else if (sort==3)
                    {
                            // быстрая
                    }
                    for (i=0;i<n;i++)
                            cout<<mass[i]<<;
                    cout<<"\n";
                    cout<<ass<<"\n";
                    cout<<cmpr<<"\n";
            }
            return 0;
    }

    Преподаватель по Си это привел как пример лабораторной работы. Замечу, что он утверждал что это Си.
    Из особо жестоких особенностей - есть даже логическая ошибка.

    Запостил: guest, 14 Марта 2009

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

    • Капитан Очевидность:
      переменная ass - ржака :))
      Ответить
    • cout<<"введите вид сортировки: 1 — шейрная, 2- выбор, 3 — быстрая"<<;

      А я не понял вот этого вывода непонятно чего после текста. Оно ж вроде компилироваться не должно, потому как переопределенный оператор << не имеет второго аргумента. Или должно? Может, там был << eol; ?
      Ответить
    • while((sort==1)&&(sort==2)&&(sort==3))

      Пока переменная истина и одновременно ложна…
      Ответить
    • Оно и не компилируется. Во первых по стандарту нужно хотя бы using namespace std; сказать, во вторых conio - не стандартный хедер, да и не используется. В третьих - даже после фикса этих "<<;", всё равно будет криво всё, ибо условие в while веселое.
      Код примечателен тем, что был просто переписан с доски на паре под названием "Системное программирование". Притом препод говорил, что это Си.
      Ответить
    • КтоТо:
      я никого не защищаю. но заголовок <iostream.h> это не тоже самое, что <iostream>. Второй требуется стандартом и определяет всё в std. Но первый держат для совместимости с очень старым кодом. И конкретно он не требует использования пространства имён std.
      Ответить
    • Не все компиляторы так делают.
      gcc 4.3 выдает что такого хедера нет. С ним согласилась VS 2008.
      Ответить
    • Мухамед Али Баби:
      Как можно закинуть файлы с расширением .jpg? Хочу закинуть лабораторные работы по C#
      Ответить
    • Dr.Freez:
      Слей куда-нибудь, сюда ссылки =)
      Ответить
    • Ну очевидно же, что преподаватель (а может и тот, кто списывал это с доски) в некоторых местах "опечатался" (например, перепутал || с &&, забыл написать '\n' в конце некоторых cout'ов, определить переменную n = 20 и т. п.). Про хэдеры и пространства имён всё уже сказали выше (можно было догадаться, что это борланд 3-ей или 5-ой версии, которые до сих пор очень активно используются в наших говновузах). Так что формально программа корректна (если не быть ЧСВ'шным быдлом и попытаться понять, что же хотел донести автор говнокода). "Из особо жестоких особенностей" я бы отметил только включение не используемых хэдеров и размер встроенного массива, который напрашивался в #define или const size_t. Ну и, быть может, ещё спорную в некоторых аспектах структуру кода демонстрационной программы (я бы, конечно, совершенно по-другому организовал такой пример, но это уже дело вкуса).

      P. S. Кстати, по 8-ми пробельным отступам, я могу предположить, что ОП сам ещё тот говнокодер.
      Ответить
    • Копи-паст из опенофиса. Как опенофис сделал, так и скопипастилось.
      Опять же ключевая особенность в том, что преподаватель ведет не Си++, а Си. И о cout не говорил ни слова.
      И такие опечатки в его коде - это норма. Ни один из приведенных преподавателем кодов (пока он рассказывал алгоритмы, он приводил примеры на паскале) не работал без фиксов. Ни один из 6-и.
      Ответить
    • И такие опечатки в его коде - это норма. Ни один из приведенных преподавателем кодов (пока он рассказывал алгоритмы, он приводил примеры на паскале) не работал без фиксов. Ни один из 6-и.
      Печально. Куда аттестационная комиссия смотрит? В конце концов, должно же быть у ВУЗа хоть самоуважение, чтобы студенты не смеялись...

      Да и по поводу преподавания С. Никаких велосипедов изобретать не надо, потому что уже есть книга Кернигана и Ричи, в которой изложено все, что надо, и ничего лишнего.
      Ответить
    • Студенты и не смеются... потому что не понимают и потом на лабораторных честно переписывают 1 в 1 код и спрашивают "а почему не работает?"
      Ответить
    • [quote=Outdate]
      Оно и не компилируется. Во первых по стандарту нужно хотя бы using namespace std; сказать, во вторых conio - не стандартный хедер, да и не используется. В третьих - даже после фикса этих "<<;", всё равно будет криво всё, ибо условие в while веселое.
      [/quote]
      Ну это просто в старых компиляторах так было. Новые да, не откомпилят.
      Ответить
    • С преподами, как правило, так дела и обстоят, потому что старые пердуны, а на вопрос про gcc спрашивают "а чё это?". Тем не менее они преподают рассказывают про Си с точки зрения алгоритмитизации. И вообще я считаю, что говновысеры преподов здесь не уместны, так как это вообще отдельная тема (у нас очень хорошо высмеивалась на партах универа). Совет - читать книжки самому, и на экзаменах писать правильно ( синтаксически и логически), в случае можно поспорить с преподом.
      P.S. преподы по Си разные бывают, а не только идиоты.
      Ответить
    • обиженные студенты рассмешили куда больше чем обычный сразу-после школьный код для изучения основ:) вы бы ещё над шрифтами в азбуке глумились, остроумные вы наши
      Ответить
    • это стандартый пример толи из Borlad C++ 6 толи раньше лежит там в примерах кода
      Ответить

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