-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalculator.c
76 lines (67 loc) · 1.94 KB
/
calculator.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "math_operations_h/operations.h"
#include <stdio.h>
enum OperationsEnum {
SOMA,
PRODUTO,
EXP,
FATORIAL,
MODULO,
INVERT,
MAX_OPERATIONS
};
int main (void){
enum OperationsEnum eSelect;
int iNumber1;
int iNumber2;
int iNumber3;
while (1)
{
printf("Selecione uma Operacao: \n 0 - Somar 3 Numeros \n 1 - Produto \n 2 - Exponencial \n 3 - Fatorial \n 4 - Modulo \n 5 - Invert \n %d - Sair\n", MAX_OPERATIONS);
scanf_s("%d", &eSelect);
switch (eSelect)
{
case SOMA:
printf("Digite Numero 1:\n");
scanf_s("%d", &iNumber1);
printf("Digite Numero 2:\n");
scanf_s("%d", &iNumber2);
printf("Digite Numero 3:\n");
scanf_s("%d", &iNumber3);
printf("Soma igual: %d \n", OPR_iSoma(iNumber1, iNumber2, iNumber3));
break;
case PRODUTO:
printf("Digite Numero 1:\n");
scanf_s("%d", &iNumber1);
printf("Digite Numero 2:\n");
scanf_s("%d", &iNumber2);
printf("Produto igual: %d \n", OPR_iProduto(iNumber1, iNumber2));
break;
case EXP:
printf("Digite Numero:\n");
scanf_s("%d", &iNumber1);
printf("Digite Expoente:\n");
scanf_s("%d", &iNumber2);
printf("Exponencial igual: %d \n", OPR_iPotencia(iNumber1, iNumber2));
break;
case FATORIAL:
printf("Digite Numero:\n");
scanf_s("%d", &iNumber1);
printf("Fatorial igual: %d \n", OPR_lFatorial(iNumber1));
break;
case MODULO:
printf("Digite Numero:\n");
scanf_s("%d", &iNumber1);
printf("Modulo igual: %d \n", OPR_iModulo(iNumber1));
break;
case INVERT:
printf("Digite Numero:\n");
scanf_s("%d", &iNumber1);
printf("Invert igual: %f \n", OPR_iInvert((float)iNumber1));
break;
case MAX_OPERATIONS:
default:
return 1;
}
}
return;
}