dort islem yapan hesap makinesi
Dependencies: mbed TextLCD keypad
main.cpp
- Committer:
- marvas
- Date:
- 2020-02-26
- Revision:
- 5:cfcb666662ff
- Parent:
- 4:1df9a3a723ff
File content as of revision 5:cfcb666662ff:
#include "mbed.h" #include "TextLCD.h" #include "Keypad.h" #include <iostream> DigitalOut bzr(PB_7); Serial pc(USBTX,USBRX); float sayi[4]= {0,0,0,0}; /* sayi[0] girilen sayi sayi[1] 1. sayi sayi[2] 2sayi sayi[3] sonuc */ char basilantus,islem; TextLCD lcd(PB_0,PA_4,PC_3,PC_2,PB_3,PA_10); Keypad key(PC_4, PB_13, PB_14,PB_15,PB_1,PB_2,PB_12,PA_11); char key_table[] = { '1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', 'C', '0', '=', '/' }; int main() { pc.baud(115200); // Init. RC522 Chip uint32_t key_num; while(true) { while ((key_num = key.read()) != 0) { bzr=1;wait_ms(10);bzr=0; basilantus=*(key_table + key_num-1); lcd.printf("%c",basilantus); switch(basilantus) { case '0'...'9'://if(basilantus>'0' && basilantus<'9') sayi[0]=sayi[0]*10+(basilantus-'0'); break; case '*'...'/': /*case '-': case '+': case '*': case '/':*/ islem=basilantus; sayi[1]=sayi[0]; sayi[0]=0; break; case '=': sayi[2]=sayi[0]; if(islem=='+') sayi[3]=sayi[1]+sayi[2]; else if(islem=='-') sayi[3]=sayi[1]-sayi[2]; else if(islem=='*') sayi[3]=sayi[1]*sayi[2]; else if(islem=='/') sayi[3]=sayi[1]/sayi[2]; lcd.printf("%.2f",sayi[3]); for(char temizle=0; temizle<=3; temizle++) { sayi[temizle]=0; } islem=0; break; case 'C': lcd.cls(); for(char temizle=0; temizle<=3; temizle++) { sayi[temizle]=0; } islem=0; break; } }// while ((key_num = key.read()) != 0) { }// while(true) { }//main