forked from CoolerVoid/C
-
Notifications
You must be signed in to change notification settings - Fork 0
/
calc.c
92 lines (80 loc) · 2.55 KB
/
calc.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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
GarageCode Genial Creations Hehehe
http://GarageCode.tk
*Function this programm
this program is a simple calculator,work with operator and number
i make this program for my friend d3lf0 study "ansi C"
*tested with GCC but wheel in others compilers...
i wheel on Unix/Linux/*BSD this:
gcc -o program program.c; ./program
Author: Antonio "Cooler_x86"
contact: [email protected]
license: BSD
visit this site: http://BotecoUnix.com.br
Real Geeks BotecoUnix
greetz
Thanks _mlk_ , m0nad,IAK,Fox,D3lf0,nibbles and Chris Torek.
K&R for book ansi C
reference and Big greetz
http://web.torek.net/torek/
.--..--..--..--..--..--.
.' \ (`._ (_) _ \
.' | '._) (_) |
\ _.')\ .----..---. /
|(_.' | / .-\-. \ |
\ 0| | ( O| O) | o|
| _ | .--.____.'._.-. |
\ (_) | o -` .-` |
| \ |`-._ _ _ _ _\ /
\ | | `. |_||_| | Solution!
| o | \_ \ | -. .-.
|.-. \ `--..-' O | `.`-' .'
_.' .' | `-.-' /-.__ ' .-'
.' `-.` '.|='=.='=.='=.='=|._/_ `-'.'
`-._ `. |________/\_____| `-.'
.' ).| '=' '='\/ '=' |
`._.` '---------------'
//___\ //___\
|| ||
||_.-. ||_.-.
(_.--__) (_.--__)
*/
// biblioteca de padrão de entrada e saida, standart input and output
#include <stdio.h>
//declaração das variaveis
char line[100],operator;
int result,value;
// Banner
char opcao_menu() {
int i;
char *banner[] = {
"Operator Calc",
"coded by Cooler_ visit http://botecounix.com.br",
"put with example",
"operators:+,-,*,/ ",
"(s)para Sair",
"-> ",
};
// \x0a é a mesma coisa que \n para pular linha só que mais rapido como é hex
for(i=0; i<=5; i++) printf(" %s \x0a",banner[i]);
}
int main() {
// chama o banner e seta resultado para zero
opcao_menu(); result = 0;
while (1) {
printf("Resultado: %d\x0a", result );
printf("Digite Operador e o numero : ");
// pega as duas entradas
fgets(line, sizeof(line), stdin);
sscanf(line, "%c %d", &operator, &value);
// se a entrada for s ou S programa sai
if ((operator == 's') || (operator == 'S')) break;
//condições para verificar operador e fazer a conta com ultimo numero armazenado
// fazer result += value é a mesma coisa que fazer "result=result+value" soh que é mais rapido
if (operator == '+') result += value;
if (operator == '/') result /= value;
if (operator == '-') result -= value;
if (operator == '*') result *= value;
}
return(0);
}