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

    0

    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
    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
    99. 99
    class Display 
    { 
    public: 
    //pin 10_CS_LOAD  pin 11_DIN  pin 13_CLK
    const int CS = 10;//CS на 10 пине
    
    void R1_R2 (char x,char y)//метод вывода чисел 0-99 в разряды 1,2 c гашением нуля
    {
      char k1,k2;
      if(x<10)
       {
       if(y==1) //если включена точка 
          { SPI_out(2, arr_seg[x]+128);} //вывести число во второй разряд с точкой
       else//выключена точка
         { SPI_out(2, arr_seg[x]);} //вывести число во второй разряд без точки
       
       SPI_out(1, 0 );//в первый записать все нули ,и погасить его 
       return; //завершить метод
       }
    
       else
       {
        k1=0;
        k2=x; while (k2>=10) {k1++; k2=k2-10;}
        SPI_out(1,arr_seg[k1]); //вывести число в первый разряд
        if(y==1) //если включена точка 
        {SPI_out(2,arr_seg[k2]+128);} //вывести число во второй разряд c точкой
        else{SPI_out(2,arr_seg[k2]);} //без точки
        }
    }
    
    void R2_R3 (char x)//метод вывода чисел 0-99 в разряды 2,3 (темепература)
    {
    char k1,k2;
    
    if(x<10)
        {
      SPI_out(2,0); //пробел во второй разряд
      SPI_out(3,arr_seg[x]); //вывести число в третьий разряд   
        }
    else {
      
        k1=0;
        k2=x; while (k2>=10) {k1++; k2=k2-10;}
    
      SPI_out(2,arr_seg[k1]); //вывести число во второй разряд без точки
      SPI_out(3,arr_seg[k2]); //вывести число в третьий разряд
      }
    }
    
    void R3_R4 (char x,char y)//метод вывода чисел 0-99 в разряды 3,4
    {
      char k1,k2;
        k1=0;
        k2=x; while (k2>=10) {k1++; k2=k2-10;}
    
        if(y==1) //если включена точка
        { SPI_out(3,arr_seg[k1]);} //вывести число в третьий разряд без точки
        else
        {SPI_out(3,arr_seg[k1]+128); }//вывести число в третьий разряд с точкой 
        
        SPI_out(4,arr_seg[k2]); //вывести число в четвертый разряд
    }
    
    void R1 (unsigned char x,boolean p) //метод для отрисовки в первом разряде
    {
    if(p==true) //если активированна точка
    { SPI_out(1, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
     else {SPI_out(1, arr_seg[x]);} 
    }
    
    void R2 (unsigned char x,boolean p) //метод для отрисовки во втором разряде
    {
    if(p==true) //если активированна точка
    { SPI_out(2, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
     else {SPI_out(2, arr_seg[x]);} 
    }
    
    void R3 (unsigned char x,boolean p) //метод для отрисовки в третьем разряде
    {
    if(p==true) //если активированна точка
    { SPI_out(3, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
     else {SPI_out(3, arr_seg[x]);} 
    }
    
    void R4 (unsigned char x,boolean p) //метод для отрисовки в четвертом разряде
    {
    if(p==true) //если активированна точка
    { SPI_out(4, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
     else {SPI_out(4, arr_seg[x]);} 
    }
    
    //метод отрисовки во всех разрядах сразу
    void allraz (unsigned char a,unsigned char b,unsigned char c,unsigned char d) 
    {
    SPI_out(1, arr_seg[a]);
    SPI_out(2, arr_seg[b]);
    SPI_out(3, arr_seg[c]);
    }

    автору 40 лет, на секундочку

    Запостил: pashaluk31, 05 Января 2020

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

    • Тот случай, когда с таким кодом и комментариями лучше, чем просто с нормальным кодом.
      Ответить
    • А как бы Вы написали?
      Ответить
    • Бедняга, маразм в 40 лет.
      Ответить
    • Ох уж эта коварная точка, столько ебли из-за неё.
      Ответить
      • >Точка
        >столько ебли

        Вспомнил эпизод из фильма "Однажды в америке", где молодой гопник пытался засунуть пальчик в пизду проститутке.
        Ответить
        • Хрюкни.
          Ответить
          • Вот незадача! У меня нет ни рта ни рыла!
            Могу взять поочередно то малую то большую секунды. Сойдёт за хрюканье?!
            Ответить
            • Не позорься. Я за тебя хрюкну - хрук-хрук-хрук.
              Ответить
    • Народ, а что тухло то так? Не протревзели ещё с первоянварского бодуна?
      Ответить

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