#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
  float a, b, vysl;
  char *nazev;

  // hledani posledniho vyskytu obraceneho lomitka
  if ((nazev=strrchr(argv[0],'\\'))==NULL) nazev = argv[0];
  else nazev++;
  if (argc < 4)
  {
    fprintf(stderr,"Uziti: %s operand1 operace operand2, napr. %s 3 + 2\n",nazev,nazev);
    return 1;
  }

  if (sscanf(argv[1],"%f",&a)==0)
  {
    fprintf(stderr, "Prvni operand je chybne zadan - musi to byt cislo!\n");
    return 2;
  }
  if (sscanf(argv[3],"%f",&b)==0)
  {
    fprintf(stderr,"Druhy operand je chybne zadan - musi to byt cislo!\n");
    return 2;
  }

  switch (*argv[2])
  {
    case '+': vysl = a + b; break;
    case '-': vysl = a - b; break;
    case '*': vysl = a * b; break;
    case '/': if (b==0) { fprintf(stderr,"Nulou nelze delit!"); return 3; }
              else vysl = a / b;
              break;
    default: fprintf(stderr,"Umim jen operace '+' '-' '*' '/'!\n"); return 4;
  }
  // tisk vysledku
  printf("%f %c %f = %f\n",a,*argv[2],b,vysl);
  return 0;
}

