added calculator
This commit is contained in:
parent
4aa1e7a4c1
commit
10780c6e8b
|
@ -0,0 +1,11 @@
|
||||||
|
# Simple calculator application
|
||||||
|
This application asks the user to enter an operator and to two operands. Example:
|
||||||
|
```
|
||||||
|
> Enter operator: +
|
||||||
|
> Enter operand 1: 67
|
||||||
|
> Enter operand 2: 8
|
||||||
|
```
|
||||||
|
It then preceeds to print the result of the calculation:
|
||||||
|
```
|
||||||
|
The Result is: 75
|
||||||
|
```
|
|
@ -0,0 +1,60 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
// ansi escape codes for colors
|
||||||
|
#define GREEN "\033[32m"
|
||||||
|
#define RED "\033[31m"
|
||||||
|
#define RESET "\033[0m"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
do {
|
||||||
|
// allocate memory
|
||||||
|
double a;
|
||||||
|
double b;
|
||||||
|
char op;
|
||||||
|
|
||||||
|
printf(GREEN"Enter operator: "RESET);
|
||||||
|
scanf(" %c", &op); // read character and ignore whitespace
|
||||||
|
// read operands
|
||||||
|
printf(GREEN"Enter operand 1: "RESET);
|
||||||
|
scanf("%lf", &a);
|
||||||
|
printf(GREEN"Enter operand 2: "RESET);
|
||||||
|
scanf("%lf", &b);
|
||||||
|
|
||||||
|
// result is by default not a number
|
||||||
|
double res = NAN;
|
||||||
|
|
||||||
|
switch (op)
|
||||||
|
{
|
||||||
|
case '+':
|
||||||
|
res = a + b;
|
||||||
|
break;
|
||||||
|
case '-':
|
||||||
|
res = a - b;
|
||||||
|
break;
|
||||||
|
case '*':
|
||||||
|
res = a * b;
|
||||||
|
break;
|
||||||
|
case '/':
|
||||||
|
res = a / b;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
printf(RED"invalid operation specified\n"RESET);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isnan(res))
|
||||||
|
{
|
||||||
|
printf("\nTHE RESULT IS:\n");
|
||||||
|
|
||||||
|
char buf[64] = {0};
|
||||||
|
sprintf(buf, "figlet %lf | lolcat", res);
|
||||||
|
system(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
} while(1);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue