40 lines
564 B
C
40 lines
564 B
C
/*
|
|
* calculator.h
|
|
*
|
|
* Created: 29.05.2023 12:01:39
|
|
* Author: mrnek
|
|
*/
|
|
|
|
|
|
#ifndef CALCULATOR_H_
|
|
#define CALCULATOR_H_
|
|
|
|
enum calculator_state {
|
|
NUMBER_FIRST,
|
|
NUMBER_SECOND,
|
|
RESULT
|
|
};
|
|
enum calculator_op {
|
|
NO_OP,
|
|
ADD,
|
|
SUB,
|
|
DIV,
|
|
MUL
|
|
};
|
|
struct calculator {
|
|
// 1 ÷èñëî
|
|
int num1;
|
|
// 2 ÷èñëî
|
|
int num2;
|
|
// 3 îïåðàöèÿ
|
|
enum calculator_op operation;
|
|
// 4 ðåçóëüòàò
|
|
int result;
|
|
// 5 ñîñòîÿíèå àòîìàòà
|
|
enum calculator_state state;
|
|
};
|
|
void clearCalc(struct calculator *calc);
|
|
|
|
void handleCalc(struct calculator *calc, int input)
|
|
|
|
#endif /* CALCULATOR_H_ */ |