#include <LiquidCrystal.h>
int enterb = HIGH;
int zerob =HIGH;
int oneb = HIGH;
int addb =HIGH;
int subb = HIGH;
int mulb =HIGH;
int divb = HIGH;
int a,b,c,r=0;
int f1,f2,f3,f4=0;
LiquidCrystal lcd(14, 15, 16, 17, 18, 19);
void setup() {
lcd.begin(16, 2);
lcd.print(" Boolean ");
lcd.setCursor(0, 1);
lcd.print(" Calculator ");
delay(3000);
}
void loop() {
if(f1==0)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Enter 1st Number");
lcd.setCursor(0, 1);
while(enterb==HIGH)
{
zerob=digitalRead(5);
oneb=digitalRead(6);
enterb=digitalRead(2);
if(zerob==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 0 ");
a=0;
f1=1;
}
if(oneb==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 1 ");
a=1;
f1=1;
}
}
}
if(f1==1 && f2==0)
{
enterb=HIGH;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Enter 2nd Number");
lcd.setCursor(0, 1);
while(enterb==HIGH)
{
zerob=digitalRead(5);
oneb=digitalRead(6);
enterb=digitalRead(2);
if(zerob==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 0 ");
b=0;
f2=1;
}
if(oneb==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 1 ");
b=1;
f2=1;
}
}
if(f2==1 && f3==0)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Select operation");
lcd.setCursor(0, 1);
while(f4==0)
{
addb=digitalRead(0);
subb=digitalRead(1);
divb=digitalRead(3);
mulb=digitalRead(4);
if(mulb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
c=a*b;
lcd.print("Answer:");
lcd.print(c);
}
if(subb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
c=a-b;
lcd.print("Answer:");
if(a==0 && b==1)
{
lcd.print("0");
lcd.setCursor(0, 1);
lcd.print("Borrow: ");
lcd.print("1");
}
else
{
lcd.print(c);
}
}
if(divb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Answer:");
if(b==0)
{
lcd.print("Undefined");
}
else
{
c=a/b;
lcd.print(c);
}
}
if(addb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
c=a+b;
lcd.print("Answer:");
if(c==2)
{
lcd.print("0");
lcd.setCursor(0, 1);
lcd.print("Carry: ");
lcd.print("1");
}
else
{
lcd.print(c);
}
}
}
}
}
}
int enterb = HIGH;
int zerob =HIGH;
int oneb = HIGH;
int addb =HIGH;
int subb = HIGH;
int mulb =HIGH;
int divb = HIGH;
int a,b,c,r=0;
int f1,f2,f3,f4=0;
LiquidCrystal lcd(14, 15, 16, 17, 18, 19);
void setup() {
lcd.begin(16, 2);
lcd.print(" Boolean ");
lcd.setCursor(0, 1);
lcd.print(" Calculator ");
delay(3000);
}
void loop() {
if(f1==0)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Enter 1st Number");
lcd.setCursor(0, 1);
while(enterb==HIGH)
{
zerob=digitalRead(5);
oneb=digitalRead(6);
enterb=digitalRead(2);
if(zerob==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 0 ");
a=0;
f1=1;
}
if(oneb==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 1 ");
a=1;
f1=1;
}
}
}
if(f1==1 && f2==0)
{
enterb=HIGH;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Enter 2nd Number");
lcd.setCursor(0, 1);
while(enterb==HIGH)
{
zerob=digitalRead(5);
oneb=digitalRead(6);
enterb=digitalRead(2);
if(zerob==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 0 ");
b=0;
f2=1;
}
if(oneb==LOW)
{
lcd.setCursor(0, 1);
lcd.print(": 1 ");
b=1;
f2=1;
}
}
if(f2==1 && f3==0)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Select operation");
lcd.setCursor(0, 1);
while(f4==0)
{
addb=digitalRead(0);
subb=digitalRead(1);
divb=digitalRead(3);
mulb=digitalRead(4);
if(mulb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
c=a*b;
lcd.print("Answer:");
lcd.print(c);
}
if(subb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
c=a-b;
lcd.print("Answer:");
if(a==0 && b==1)
{
lcd.print("0");
lcd.setCursor(0, 1);
lcd.print("Borrow: ");
lcd.print("1");
}
else
{
lcd.print(c);
}
}
if(divb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Answer:");
if(b==0)
{
lcd.print("Undefined");
}
else
{
c=a/b;
lcd.print(c);
}
}
if(addb==LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
c=a+b;
lcd.print("Answer:");
if(c==2)
{
lcd.print("0");
lcd.setCursor(0, 1);
lcd.print("Carry: ");
lcd.print("1");
}
else
{
lcd.print(c);
}
}
}
}
}
}