30 lines
419 B
C
30 lines
419 B
C
|
|
enum calculator_state {
|
|
NUMBER_FIRST,
|
|
NUMBER_SECOND,
|
|
RESULT
|
|
};
|
|
enum calculator_op {
|
|
NO_OP,
|
|
ADD,
|
|
SUB,
|
|
DIV,
|
|
MUL
|
|
};
|
|
struct calculator {
|
|
// 1 ÷èñëî
|
|
long num1;
|
|
// 2 ÷èñëî
|
|
long num2;
|
|
// 3 îïåðàöèÿ
|
|
enum calculator_op operation;
|
|
// 4 ðåçóëüòàò
|
|
long result;
|
|
// 5 ñîñòîÿíèå àòîìàòà
|
|
enum calculator_state state;
|
|
};
|
|
|
|
void clearCalc(struct calculator *calc);
|
|
|
|
void handleCalc(struct calculator *calc, int input);
|