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

    +52.6

    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
    #include <iostream.h>
    #include <conio.h>
    using namespace std;
    
    int main (int argc, char *argv[])
    {
     
      system ("Title Kaлькyлятop");
    
      int x, y, otvet;
      char znak;
     
      cin >> x >> znak >> y;
        
      if (znak == '+') otvet = x+y;
      if (znak == '-') otvet = x-y;
      if (znak == '*') otvet = x*y;
      if (znak == '/') otvet = x/y;
    
      system ("cls");
    
      cout << x << znak << y << "=" << otvet;
    
      getch();
      return 0;
    }

    Kaлькyлятop

    Запостил: men, 19 Января 2010

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

    • за имена переменных транслитом надо отрывать руки!
      Ответить
      • ну зачем же так сразу...
        надо по пальчику в час =)
        Ответить
      • А что делать, если языка не знаешь, или стесняешься? На 1C программировать?
        Мое мнение, что если с англю проблемы, то лучше уж транслитом, а то напишешь чего-нибудь, а потом никто понять не может (давеча было про conclusion)
        Ответить
        • Лучше посмотреть в словарь и не тупить. Иногда транслитом можно так написать, что и не прочитаешь. Электронные словари рулят. ;)
          Ответить
    • getch в конце легко выдает виднузятника
      Ответить
      • а system ("cls"); не выдает ?? =)
        Ответить
      • а как по мне - conio.h
        Ответить
        • А что не так с conio? В линуксе его нет?
          Ответить
          • честно говоря, я никогда под никсы не писал, поэтому скажу только что conio.h - выдумка, по ходу, борланда, которая появилась для borland/turbo c++. конечно, могу ошибаться
            Ответить
          • Нету. Для работы с терминалом есть более развитые средства, а getch() вообще не нужен.
            Ответить
            • Я с терминалом вообще не работаю. Но интересно какие средства более развитые? За ответ, спасибо. :)
              Ответить
      • Почему виндузятника? Чем пользуються тру линуксоиды? Хочу тоже научиться... :)
        Ответить
        • Пользуются, в частности, curses. Там тоже getch есть:)
          Но это скорее не для линуксоидов, а для юниксоидов, чтобы работало на любой платформе и на любом терминале (однако, любых терминалов все меньше и меньше, так что curses скоро совсем отомрет).
          Ответить
        • Я думаю вот что здесь:

          Потому что в консоли линуксоиды проги запускают, а виндузятники не в консоли.
          Когда виндузятки запускают консольную программу, то когда она отработает, консоль сразу закрывается и результата не видно, поэтому они делают getch() в конце, чтобы программа закрылась по нажатию клавиши.
          У линуксоидов такой проблемы нет, так как они в консоли проги запускают, и прога отрабатывает, и консоль не закрывается.
          Ответить
    • Ну, нормально) Думаю, каждый здесь в свое время писал небольшой калькулятор во время освоения стандартных арифметических операций и типов данных. Опционально, при начале изучения функций калькулятор может апгрейдиться.
      Ответить
      • может стоило сразу начать с функционального программирования а не нагружать императив функциями?
        Ответить
        • Может, и стоило. Но до него еще доучиться толком надо. А для составления такой программы вполне достаточно 1-2 школьных уроков информатики.
          Ответить
          • вот именно, но на этих двух уроках даже не упомянут, что существуют и другие парадигмы
            Ответить
            • Ну надо же с чего-то начинать. Если учить ребенка бегать, пока но не то, что не ходит, а голову самостоятельно не держит, это ни к чему хорошему не приведет
              Ответить
              • с этим согласен
                но если проводить аналогии то императив и функциональщина это все же как учить ходить и самостоятельно питаться, необходимо и одно и другое (исключим что-то одно и опять же ни к чему хорошему не придем)
                Ответить
    • Обычный детский код... Зачем постить?
      Ответить
    • getch() нас в универе учили в конце проги ставить, чтобы не закрывалась консоль после отработки программы) Я никогда не ставил и поэтому препод решил не проверять что я делаю. Ну а сам калькулятор ужасный.
      Ответить
      • >getch() нас в универе учили в конце проги ставить, чтобы не закрывалась консоль после отработки программы
        перенаправь вывод и посмотри, когда пользователь догадается, что надо нажать кнопку. Про использование в скриптах я вообще молчу.
        А преподы - идиоты
        Ответить
        • Как думаешь, проще сказать, чтобы ставили getch, или какой другой метод, чтобы не закрывалось окошко? Этот getch испокон веку живет!
          Ответить
        • А как сделать так без getch(), что-бы и окошко не закрывалось и при перенаправлении вывода проблем не было? Научите, Кеп. :)
          Ответить
          • 1 запускаем шелл
            2 запускаем прогу
            3 окошко остается открытым, проблем с перенаправлением нет
            4 ?????
            5 PROFIT!
            Ответить
            • Да, все преподаватели шелл сначала запускают, а не на Run жмут.
              Ответить
              • в лабах можно и getch обойтись

                зы если препод умеет только на кнопку Пуцк жамкать чему он тогда научит?
                Ответить
                • А не я таких на работу принимаю.
                  ОЧЕНЬ многие преподы умеют только жать на пуск. К.О.
                  Ответить
                  • прога вообще из IDE обычно запускается, чтобы код посмотреть паралельно, из консоли очевидно менее удобно
                    Ответить
                    • Ага, скажи преподы еще знают, что такое дебаггер. Менее удобно для них -- запустить консоль.
                      Ответить
                      • мде, сочувствую
                        значит мне повезло - такие 'преподы' не встречались
                        Ответить
                        • Если тебе не надо постояно результаты смотреть, то чего просто getch() не написать?
                          Ответить
                      • Когда я учился преподы всегда код смотрели в IDE
                        Ответить
                        • Да, у нас они код также смотрели в иде, но исполнение тут причем? Ты упускаешь нить обсуждения.
                          Ответить
                          • так если смотришь код в IDE, то и запускается прога прямо оттуда. Я ничего не упускаю
                            Ответить
          • Цикл бесконечный можно, а если актуальна оптимизация (а здесь актуальна), то модно винапи помучить, типа WaitForMultipleObject или что-то типа того.
            Ответить
            • Так и представляю курс "Программирования на С" в Вашем исполнении:
              "Уважаемые студенты, перед тем, как написать вашу первую программу, давайте изучим механизмы синхронизации потоков".
              Ответить
              • Э, не потоков, а нитей.
                Ответить
                • Эмм.. Тупой вопрос: а разница?
                  Ответить
                  • Я написал «потоков», потому что думал про многопоточность. Но потом поправился, потому что у нас это все-таки называется нити, а потоки: http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%82%D0%BE%D0%BA_%D0%B4%D0 %B0%D0%BD%D0%BD%D1%8B%D1%85
                    Ответить
                    • А, точно.. Даже не думал) Всегда называл нить потоком, а поток стримом)
                      Ответить
                      • В вики в статье про поток написано, что это в российском офисе микрософта придумали в лихие 90-е.
                        Гоблины!
                        Ответить
            • Чего? Я что-то совсем не вьехал... Обьясните Ламеру подробнее, Кэп!)))
              Ответить
              • кури маны про мультипоточность
                Ответить
                • Не. Я не об этом. Каким боком многопоточность относиться к учебному калькулятору? O_o
                  >а если актуальна оптимизация (а здесь актуальна)
                  Это тоже не понятно...
                  Ответить
            • Ты толстый тролль. ;)
              Ответить
        • >когда пользователь догадается, что надо нажать кнопку
          А не надо чтоб догадывался, надо выводить сообщение "нажмите любую клавишу для выхода"
          Ответить
          • >А не надо чтоб догадывался, надо выводить сообщение "нажмите любую клавишу для выхода"
            угу, в файл
            Ответить
            • какой файл? это явно лаба и сделана, судя по всему, как надо
              Ответить
              • хоть и лаба, но все же такое ветвление следует делать через switch
                пусть привыкают делать правильно
                Ответить
                • Единственное что, в остальном всё прилично
                  Ответить
                • В некоторых шарагах (типа Уральского Федерального Университета) учится много людей, которым не нужно привыкать. Им это никогда не пригодится. Им нужно просто сдать. Имхо смешного тут ничего нет -- не все программисты, это нормально.
                  Ответить
                  • умение правильно строить алгоритмы пригодится даже будущему слесарю-сантехнику
                    ящитаю :)
                    Ответить
                    • И в бытовой алгоритмике у нас как раз несколько условий, а не свитч!:)
                      Если зарплату дадут сегодня, то...
                      А если завтра, то ...
                      А если послезавтра, то ваще крышка.
                      Ответить
                      • "Дадут России кредит или не дадут? Ну, допустим, дадут. Тут есть только два варианта: возьмут или не возьмут. Допустим возьмут. И вот тут снова появляются два варианта: украдут или не украдут. Допустим украдут. И вот тут появляется столько вариантов..."(с)
                        Ответить
              • >судя по всему, как надо
                Ну да... Особенно радует system ("cls");
                Ответить
    • ну консольная детская программа, все с чего-то начинали, типо все сразу как сели за комп начали набирать Алоритм Дейкстры, да и ещё не просто Дейкстры, а Дейкстры с потенциалами, а что там потенциалы, Дейкстры с Кучей, чтобы работала быстрее, уверен, что не все даже знают, про что я говорю сейчас из пользоваталей сайта и не каждый с ходу это напишет, программистами становятся, а не рождаются
      Ответить
    • Делить без остатка только?
      Ответить
    • а если вместо знака введут что-то кроме +-*/, то получат неициализированный int в ответе.
      Ответить
      • И выполнение произвольного кода, угу
        Ответить

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