#include <LiquidCrystal.h>
const int rs =26, en=25, d4=13, d5=12, d6=14, d7=27;
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
float firstNum;
float secNum;
float answer;
String op;
int dt = 3000;
void setup()
{
//SET THE lcd's number o rows and coloum
lcd.begin(16, 2);
lcd.clear();
Serial.begin(115200);
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Enter 1st number :");
Serial.println("Input 1st number: ");
while(Serial.available() == 0)
{
}
firstNum = Serial.parseFloat();
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Enter 2nd number :");
Serial.println("Input 2nd number: ");
while(Serial.available() == 0)
{
}
firstNum = Serial.parseFloat();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Input(+,-,*,/)");
Serial.println("Input(+,-,*,/)");
while(Serial.available() == 0)
{
}
op = Serial.readString();
if(op == "+")
{
answer = firstNum + secNum;
}
else if(op == "-")
{
answer = firstNum - secNum;
}
else if(op == "*")
{
answer = firstNum * secNum;
}
else if(op == "/")
{
answer = firstNum/secNum;
}
else{
lcd.print("Invaid");
Serial.println("Invalid");
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print(firstNum);
Serial.println(firstNum);
lcd.print(op);
Serial.println(op);
lcd.print(secNum);
Serial.println(secNum);
lcd.print(op);
Serial.println(op);
lcd.print("=");
Serial.println("=");
lcd.print(op);
Serial.println(op);
lcd.print(answer);
Serial.println(answer);
lcd.print(op);
Serial.println(op);
lcd.setCursor(0,1);
lcd.print("Thank You!");
Serial.println("Thank You!");
delay(dt);
lcd.clear();
}