Хочу сделать калькулятор через монитор последовательности

Kozipc06
Offline
Зарегистрирован: 26.03.2021

Хочу сделать калькулятор через монитор последовательности никак не виходит.

ПОМОГИТЕ

Примерный код:

 

#include <Keypad.h>
#include <Wire.h> 
 
 
long first = 0;
long second = 0;
double total = 0;
 
char customKey;
const byte ROWS = 4;
const byte COLS = 4;
 
char keys[ROWS][COLS] = {
  {'1','2','3','+'},
  {'4','5','6','-'},
  {'7','8','9','*'},
  {'C','0','=','/'}
};
byte rowPins[ROWS] = {7,6,5,4}; 
byte colPins[COLS] = {3,2,1,0}; 
 
 
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS); 
 
void setup()
{
   Serial.begin(9600);
for(int i=0;i<=3;i++);
delay(4000);
 
}
 
 
void loop()
{
 
  customKey = customKeypad.getKey();
  switch(customKey) 
  {
  case '0' ... '9': 
    first = first * 10 + (customKey - '0');
    Serial.println(first);
    break;
 
  case '+':
    first = (total != 0 ? total : first);
    Serial.print("+");
    second = SecondNumber(); 
    total = first + second;
    Serial.println(total);
    first = 0, second = 0; 
    break;
 
  case '-':
    first = (total != 0 ? total : first);
    Serial.println("-");
    second = SecondNumber();
    total = first - second;
    Serial.println(total);
    first = 0, second = 0;
    break;
 
  case '*':
    first = (total != 0 ? total : first);
    
    Serial.println("*");
    second = SecondNumber();
    total = first * second;
   
    Serial.println(total);
    first = 0, second = 0;
    break;
 
case '/':
    first = (total != 0 ? total : first);
    Serial.println("/");
    second = SecondNumber();
 
    second == 0 ? lcd.print("Invalid") :
    total = (float)first / (float)second;
 
    Serial.println(total);
    first = 0, second = 0;
    break;
 
 
  }
}
 
long SecondNumber()
{
  while( 1 )
  {
    customKey = customKeypad.getKey();
    if(customKey >= '0' && customKey <= '9')
    {
      second = second * 10 + (customKey - '0');
      Serial.println(second);
    }
 
    if(customKey == '=') break;  
  }
 return second; 
}
 
!Если что делаю в тинкеркаде!
Kozipc06
Offline
Зарегистрирован: 26.03.2021

Хочу сделать калькулятор через монитор последовательного интерфейса никак не виходит.

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Будешь срать во все темы - вылетишь. 

Почитай на досуге  http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii

и вопрос сформулируй внятно.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Kozipc06 пишет:

Хочу сделать калькулятор через монитор последовательности никак не виходит.

Ничего удивительного. Если Вы и на Си пишете так же, как по-русски, у Вас никогда ничего не выйдет. Аккуратнее надо с языком.

И, кромке того, правила сетевой этик рекомендуют почитать форум хотя бы 2-3 дня прежде, чем писать на него. У Вас же от момента регистрации до отправки сообщения не прошло и часа.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Kozipc06 пишет:

монитор последовательности

Это что такое?

Kozipc06 пишет:

никак не виходит.

Принято к сведению. Если у Вас есть вопрос(ы), то Вы забыли их задать.

P.S. Вашего кода не читал. Хотите, чтобы кто-то читал - вставьте правильно.