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

    +3

    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
    #include "stdafx.h"
    #include <windows.h>
    #include <iostream>
    #include <stdio.h>
    #include <conio.h>
    using namespace std;
    
    class pop
    {
    public:
    char groupp[10];
    char alb[10];
    char name[10];
    pop vvod()
    {
    pop v;
    cin » v.groupp;
    cin » v.alb;
    cin » v.name;
    return v;
    }
    void vivod(pop v)
    {
    cout « v.groupp, "\n";
    cout « v.alb, "\n";
    cout « v.name, "\n";
    }
    };
    void main()
    {
    char a;
    int b=1;
    pop v;
    while(b!=0)
    { 
    cout « "vvodite";
    cin »a;
    switch ( a )
    {
    case '1':
    {
    v=v.vvod();
    b=1;
    break;
    }
    case '2':
    {
    v.vivod(v);
    b=1;
    break;
    }
    default :
    {
    system("cls");
    b=0;
    }
    }
    }
    
    }

    Запостил: high-five, 11 Сентября 2013

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

    • Авторские отступы сохранены?

      > «
      Зачем ты скукожил мои стрелочки, Девид Блейн? Раскукожь их обратно!
      Ответить
      • по моему кто-то поглумился и просто предварительно прогнал через винворд
        отсюда и форматирование, и кавычки
        Ответить
        • Ворд, вроде как, не удаляет табы, а вот вконтактик удаляет табы с пробелами в начале строки и операторы потокового ввода-вывода скукоживает. Да, я иногда от скуки делал первокурам лабы; вот такой я добрый, блджад.
          Ответить
          • > от скуки делал первокурам лабы
            Это ж как заскучать надо, чтобы такую скукотищу решать... разве что девушкам за красивые глаза и эстетическое наслаждение от их созерцания ;)

            P.S. А вот лабы по какому-нибудь прологу или схеме было бы интересно порешать.
            Ответить
            • >>девушкам за красивые глаза
              Хе-хе, и-мен-но; бывало, еще и коньячком угощали :)
              Вообще, еще со второго фоллаута в мозгу укоренилось, что помогать людям безвозмездно - приятно, что потом оно откликнется. Но это с теми, кто дейстительно хочет учиться. Ну а над халявщиками я откровенно издевался:
              struct record
              {
              	map<string, string> data;
              	record()
              	{
              		data["name"] = "vasya";
              		data["age"] = "27";
              		data["race"] = "night elf";
              	}
              }
              Ответить
              • >Ну а над халявщиками я откровенно издевался:
                можно же написать на хацкеле или лиспе и потом их будет троллить ещё препод. Но даже на мейнстреймных плюсах можно нагородить кучу шаблонов, которые не переварят ни среднестатистический быдлостудент, ни среднестатистический быдлопрепод, у которого лаба не запустится в его любимом багланде
                Ответить
                • Ещё смешно писать на брейнфаке, вставлять бф-код в код на си строковой константой, и окружать это дело самописным интерпретатором.
                  Ответить
                  • > Ещё смешно писать на брейнфаке
                    Я бы не сказал, что на брейнфаке писать смешно...
                    Ответить
      • #pragma unicode_syntax
        Ответить
      • показать все, что скрытоОтсосу член парню из Владикавказа. Прут наглые хуястые самцы.

        [email protected] (Спросить Тараса)
        Ответить
    • > #include <windows.h>
      Нахуя зачем?

      > #include "stdafx.h"
      Емнип, если уж юзаем PCH (precompiled headers), то все стандартные инклуды должны быть в том самом stdafx, а не под ним. Иначе какой смысл?

      > #include <stdio.h>
      По-крестоблядски это пишется #include <cstdio>, но в любом случае, зачем оно здесь?

      > #include <conio.h>
      Зачем здесь этот досовский атавизм?

      > char groupp[10]
      В крестах есть класс для строк.

      > cout « v.groupp, "\n";
      s/, "\\n"/ << endl/g

      > void main
      int main

      > "vvodite"
      Кого вводить? Подсудимого? :)
      Ответить
      • UPD: Сорри, что-то я разошелся, это же всего лишь лаба первокурсника/школьника, а первые лабы это по определению говнокод, все мы когда-то так писали... Кто-то на первых лабах, кто-то до них, когда впервые попробовал себя в шкуре программиста...
        Ответить
        • Они же не из головы писали, значит, в умной книжке (или лекции) глупые люди советуют эту ересь.
          Ответить
          • Так умение отличать код умных людей от кода глупых оно же не врожденное ;)

            Если бы методичка по паскалю на первом курсе не была таким отвратным говном, что даже первая лаба, которую предлагалось просто "набрать и запустить", была написана капсом и содержала десяток синтаксических и логических(!) ошибок, из-за которых она само собой не работала... то я бы, наверное, тоже уверовал в разумность и опыт преподов, и считал бы их код хорошим...

            Но этот случай дал мне осознать важную на тот момент мысль - преподы не боги, они тоже могут тупить и ошибаться.

            Вот с того момента и закончилось переписывание с доски в тетрадку, и началось копание в доках и дебаггере, обсуждения кода с друзьями и троллинг преподов информатики на лекциях :)
            Ответить
            • если препод разбирается в предмете, который он преподает, хуже, чем студент - то это очень печально
              Ответить
              • Зачастую преподаватели не дураки, только идут слегка не нагавнонагавно нога в ногу с прогрессом.

                P.S: Пару месяцев назад видел и #include<dos.h> в лабах, авторы которых настойчиво пытались развернуть их под VS...
                Ответить
                • > слегка не нагавнонагавно нога в ногу с прогрессом
                  Ну если методичке с незапускающейся лабой было овер5 лет, то какой тут прогресс...

                  > развернуть их под VS
                  Я когда-то писал небольшой модуль, эмулирующий борландовскую графику (bgi) через виндовые апишки. Окошко 640х480, никаких ивентов, только getch, только getmouse, только хардкор... Для лаб было очень удобно (код не засорялся бесполезными обработчиками ивентов, созданием окон и прочей не имеющей отношения к делу лабудой).

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

      #include <windows.h>, виндавс рулит, и заруливает.
      Ответить
      • > зачем так форматировать код
        Кстати, человека очень легко научить форматировать. Достаточно дать ему на разбор достаточно крупную лабу, написанную вот такой стенкой. Когда, через пару-тройку часов, он наконец разберется, что там написано, дать ему тот же код с нормальными отступами. Рефлекс собаки павлова обеспечен ;)

        > #include <windows.h>, виндавс рулит, и заруливает.
        А linux.h нету :( В /usr/include/ есть только каталог с таким именем.
        Ответить
        • > Когда, через пару-тройку часов, он наконец разберется, что там написано, дать ему тот же код с нормальными отступами. Рефлекс собаки павлова обеспечен ;)

          Рефлекторно впадать в сон на 2-3 часа, делать вид что разобрался и получать код с нормальными отступами.
          Ответить
          • Так давать же не через 2-3 часа, а когда разберется ;) Как банан обезьяне, которая удачно прошла какой-нибудь эксперимент на сообразительность.

            А особо упоротым поможет только год исправительных работ на питоне.
            Ответить
            • Надо делать вид, что разобрался
              Ответить
            • И они будут ставить в одном месте один пробел, во втором - 8, видали.
              Ответить
              • Надо подпилить интерпретатор питона, чтобы он распознавал только инденты, кратные четырем пробелам.
                Ответить
                • А почему зеленым? Если бы не обратная совместимость - разрешить табы или 4 пробела-онли и все.
                  Ответить
                  • > А почему зеленым?
                    Х.з. Почему-то эта идея показалась несбыточной.

                    > разрешить табы или 4 пробела-онли
                    Начнут смешивать ;)

                    > Если бы не обратная совместимость
                    Да если бы. Скрипт для разравнивания пробелов написать совсем несложно, приложить его в комплект тоже можно, 2to3 же приложили. Тут, имхо, не в совместимости дело, а в людях, которые начнут бугуртить: "всю жизнь писал 2 пробела, а тут 4 надо", "а я писал 8, а теперь надо 4".
                    Ответить
                • так это не проблема, исходники питона выложены.
                  Ответить
    • Минусанул за windows.h
      Ответить

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