#include <LiquidCrystal.h>
int rs = 7;
int en = 8;
int d4 = 9;
int d5 = 10;
int d6 = 11;
int d7 = 12;
float firstNum;
float secondNum;
float answer;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
String op;
void setup() {
// put your setup code here, to run once:
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("Input 1st number");
Serial.println("Write here: ");
while(Serial.available() == 0){}
firstNum = Serial.parseFloat();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Input 2nd number");
Serial.println("Write here: ");
while(Serial.available() == 0){}
secondNum = Serial.parseFloat();
lcd.clear();
while(true){
lcd.setCursor(0, 0);
lcd.print("Input (+ - / *)");
Serial.println("Write here: ");
while(Serial.available() == 0){}
op = Serial.readString();
lcd.clear();
if(op == "+"){
answer = firstNum + secondNum;
break;
} else if(op == "-") {
answer = firstNum - secondNum;
break;
} else if (op == "*"){
answer = firstNum * secondNum;
break;
} else if(op == "/"){
answer = firstNum / secondNum;
break;
} else {
Serial.println("Input not recognised. Please try again.");
}
}
lcd.setCursor(0, 0);
lcd.print(firstNum + op + secondNum + " = " + answer);
lcd.setCursor(0, 1);
lcd.print("Thank you");
delay(5000);
lcd.clear();
}