Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- #include <stdbool.h>
- bool valid (int argc, char* argv[]) {
- if (argc == 4) {
- if (strtod(argv[1], NULL) != 0 && strtod(argv[3], NULL) != 0) {
- if (strcmp(argv[2], "+") == 0 || strcmp(argv[2], "x") == 0 || strcmp(argv[2], "/") == 0 || strcmp(argv[2], "-") == 0) {
- return true;
- } else {
- fprintf(stderr, "Invalid operation!\n");
- }
- } else {
- fprintf(stderr, "Arguments are not numbers!\n");
- }
- } else {
- fprintf(stderr, "Invalid argument count!\n");
- }
- return false;
- }
- int main (int argc, char* argv[]) {
- double num1, num2;
- double result = 0.0;
- if (valid(argc, argv)) {
- num1 = strtod(argv[1], NULL);
- num2 = strtod(argv[3], NULL);
- if (strcmp(argv[2], "+") == 0) {
- result = num1 + num2;
- } else if (strcmp(argv[2], "x") == 0) {
- result = num1 * num2;
- } else if (strcmp(argv[2], "/") == 0) {
- result = num1 / num2;
- } else if (strcmp(argv[2], "-") == 0) {
- result = num1 - num2;
- }
- } else {
- return 1;
- }
- printf("Result = %.2f\n", result);
- return 0;
- }
Add Comment
Please, Sign In to add comment