diff options
Diffstat (limited to 'reference/C/CONTRIB/OR_PRACTICAL_C/06_1.c')
-rw-r--r-- | reference/C/CONTRIB/OR_PRACTICAL_C/06_1.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/OR_PRACTICAL_C/06_1.c b/reference/C/CONTRIB/OR_PRACTICAL_C/06_1.c new file mode 100644 index 0000000..8f889a5 --- /dev/null +++ b/reference/C/CONTRIB/OR_PRACTICAL_C/06_1.c @@ -0,0 +1,25 @@ +#include <stdio.h> +char line[100];/* line of data from the input */ + +int result; /* the result of the calculations */ +char operator; /* operator the user specified */ +int value; /* value specified after the operator */ +main() +{ + result = 0; /* initialize the result */ + + /* Loop forever (or till we hit the break statement) */ + while (1) { + (void) printf("Result: %d\n", result); + + (void) printf("Enter operator and number: "); + (void) fgets(line, sizeof(line), stdin); + (void) sscanf(line, "%c %d", &operator, &value); + + if (operator = '+') { + result += value; + } else { + (void) printf("Unknown operator %c\n", operator); + } + } +} |