/* addSub.c */
#include <stdio.h>
#include <stdlib.h>


void usage() {
  puts("Usage:");
  puts("  addSub <double> + <double>");
  puts("  addSub <double> - <double>");
  puts("    <double>: 0 not accepted");
  exit(-1);
}



int main(int argv, char *argc[]) {
  double firstOpd;
  double secondOpd;
  char operator;

  // See if enough parameters:
  if (argv != 4) {
    usage();
  }

  // See if first parameter is a double not equal zero:
  firstOpd = strtod(*(argc + 1), NULL);
  if (!firstOpd) {
    usage();
  }

  // See if third parameter is a double not equal zero:
  secondOpd = strtod(*(argc + 3), NULL);
  if (!secondOpd) {
    usage();
  }

  // Get operator and perform operation:
  operator = **(argc + 2);
  switch (operator) {
     case '+':
       printf("Result %f\n", firstOpd + secondOpd);
       return;
     case '-':
       printf("Result %f\n", firstOpd - secondOpd);
       return;
     default:
       usage();
       return;
  }
}
