#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
    if(argc == 4)
    {
        char opt = *argv[2];

        char *trash;
        double x = strtod(argv[1], &trash);
        double y = strtod(argv[3], &trash);

        double result;

        switch(opt)
        {
            case '+':
                result = x + y;
                printf("%f + %f = %f\n", x, y, result);
                break;
            case '-':
                result = x - y;
                printf("%f - %f = %f\n", x, y, result);
                break;
            case 'x':
                result = x * y;
                printf("%f x %f = %f\n", x, y, result);
                break;
            case '/':
                result = x / y;
                printf("%f / %f = %f\n", x, y, result);
                break;
            case 'p':
                result = pow(x, y);
                printf("%f ^ %f = %f\n", x, y, result);
                break;
            default:
                printf("Insira uma operacao valida\n");
                return EXIT_FAILURE;
        }

        return EXIT_SUCCESS;
    }
    else
    {
        printf("ERRO: Número de argumentos inválidos\n");

        return EXIT_FAILURE;
    }
}